首页 > 编程语言 >C++ 核心指南之 C++ 哲学/基本理念(下)

C++ 核心指南之 C++ 哲学/基本理念(下)

时间:2023-08-04 23:11:35浏览次数:50  
标签:指南 ... 理念 检查 int 代码 C++ void

C++ 核心指南(C++ Core Guidelines)是由 Bjarne Stroustrup、Herb Sutter 等顶尖 C+ 专家创建的一份 C++ 指南、规则及最佳实践。旨在帮助大家正确、高效地使用“现代 C++”。

这份指南侧重于接口、资源管理、内存管理、并发等 High-level 主题。遵循这些规则可以最大程度地保证静态类型安全,避免资源泄露及常见的错误,使得程序运行得更快、更好。

文中提到的 GSL(Guidelines Support Library) 是 C++ 核心指南支持库 https://github.com/Microsoft/GSL

P:Philosophy 基本理念

本节的规则反映了现代 C++ 的哲学/基本理念,贯穿整个 C++ 核心指南:

规则摘要:

  • P.7:尽早捕获运行时错误
  • P.8:不要泄露任何资源
  • P.9:不要浪费时间或空间
  • P.10:优先使用不可变数据而不是可变数据
  • P.11:封装混乱的结构,而不是让其散布在代码中
  • P.12:根据需要使用支持工具
  • P.13:根据需要使用支持库

这些基本理念是其他章节具体规则的理论基础。

P.7:尽早捕获运行时错误

以避免(可能无法发现的)错误结果或莫名其妙地程序崩溃

例子

// 

标签:指南,...,理念,检查,int,代码,C++,void
From: https://www.cnblogs.com/tengzijian/p/17604713.html

相关文章

  • 【博客重构之路】webman-admin安装指南
    原文地址【博客重构之路】webman-admin安装指南视频地址【bilibili】webman是什么webman是一款基于workerman开发的高性能HTTP服务框架。webman用于替代传统的php-fpm架构,提供超高性能可扩展的HTTP服务。你可以用webman开发网站,也可以开发HTTP接口或者微服务。除此之外,webma......
  • 算法竞赛命题指南(命题流程、Polygon的使用等)
    一.引言命好一场题目,是一个艰巨的任务。它非常考察个人水平和团队合作能力。在出题前,你应该做好以下准备:抱有认真负责的态度出题是给别人做的,比起展示自己,更多是为了是服务他人。算法竞赛是选手之间的竞赛,而不是出题人与做题人之间的较量。因此,出题不应以考倒选手为目标(当然,适当的......
  • c++算法之离散化例题
    离散化基础2题目描述给定 n 个元素的数列,将相同的数据离散化为一个数据(去重),即把 {4000,201,11,45,11}{4000,201,11,45,11} 离散化为 {4,3,1,2,1}{4,3,1,2,1}。输入格式第一行一个整数 (1≤m≤105)n(1≤n≤105),为元素的个数。第二行 n 个用空格隔天的整数a[i](−109......
  • NLTK 使用指南
    NLTK安装pip3installnltkNLTK数据下载代码中下载importnltknltk.download()手工下载https://www.nltk.org/nltk_data/根据需要,进行下载。NLTK使用......
  • 《Modern C++ Design》之上篇
    如下内容是在看侯捷老师翻译的《ModernC++Design》书籍时,整理的code和摘要,用于不断地温故知新。第一章1.运用TemplateTemplate参数实作PolicyClassestemplate<template<classCreated>classCreationPolicy>//template<template<class>classCreationPolicy......
  • 寻找理想的 Jarvis AI 替代方案:综合指南
    如果您通过此页面上的链接购买商品,我们可能会从我们的联盟合作伙伴那里赚钱。JarvisAI是一个强大的工具,可以帮助您完成各种任务,但它并不是唯一的选择。如果您正在寻找JarvisAI的替代品,您需要考虑一些事项。人工智能插图首先,你在人工智能助手中寻找什么?您是否需要可以帮助您......
  • 一些有趣的C++代码
    本文混合搅碎剁烂转载。。。 1:绘制曲线 #include<bits/stdc++.h>usingnamespacestd;intmain(){intx,m;for(doublei=1;i>=-1;i-=0.1){m=acos(i)*10;for(x=1;x<m;x++)cout<<"";cout<&l......
  • 新人赛《金融风控贷款违约》避坑指南!
     Datawhale干货 作者:陶旭东,北京师范大学,Datawhale成员一、背景介绍本文以天池的金融风控赛为背景,梳理了金融风控的整个实践流程,帮助大家避坑学习。赛事的场景是个人信贷,要求选手根据贷款申请人的数据信息预测其是否有违约的可能,以此判断是否通过此项贷款,这个问题在现实的风控场景......
  • C++多线程中互斥量的使用
    多线程中互斥信号量(Mutex)的使用1.0互斥量的基本概念1.1Example\(\quad\)首先我们要明白,为什么会有互斥信号量的出现,在多线程编程中,不同的线程之间往往要对同一个数据进行操作,如果该数据是只读的,当然不会出现什么问题,但是如果两个线程同时对某个数据进行写操作,则可能出现难以......
  • 使用Vue+Vite搭建在线 C++ 源代码混淆工具,带在线实例
    就酱紫github开源地址:https://github.com/dffxd-suntra/cppdgithub在线实例:https://dffxd-suntra.github.io/cppd/预览图片:长截屏背景图重复了,抱歉......