首页 > 编程语言 >高质量C/C++编程指南总结(五)—— 常量

高质量C/C++编程指南总结(五)—— 常量

时间:2024-07-15 20:30:34浏览次数:17  
标签:初始化 const 常量 编程 数据类型 C++ 调试

  • 尽量使用含义直观的常量来表示那些将在程序中多次出现的数字或字符串。
  • 在 C++ 程序中只使用 const 常量而不使用宏常量,即 const 常量完全取代宏常量。
    需要对外公开的常量放在头文件中,不需要对外公开的常量放在定义文件的头部。为便于管理,可以把不同模块的常量集中存放在一个公共的头文件中。
    • const 与 #define 的区别:
      • const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误(边际效应)。
      • 有些集成化的调试工具可以对 const 常量进行调试,但是不能对宏常量进行调试。
  • 如果某一常量与其它常量密切相关,应在定义中包含这种关系,而不应给出一些孤立的值。
  • 不能在类声明中初始化 const 数据成员。const 数据成员的初始化只能在类构造函数的初始化表中进行。
    • 想要在整个类中都恒定的常量,可使用枚举常量,但是不能表示浮点数。

标签:初始化,const,常量,编程,数据类型,C++,调试
From: https://www.cnblogs.com/moyu557/p/18303915

相关文章

  • python网络编程---TCP协议进行
        在这里简单实现一个TCP服务器,用于监听来自客户端的连接,接收客户端发送的消息,并向客户端发送响应消息。下面我将详细解释这个代码的工作原理和各个部分的作用。    首先建立一个客户端(client),一个服务端(server),在客户端进行连接到运行在本地机器(IP地址为127.......
  • C++分类
    //ps:学习自存,暂未整理。知识点算法:思维,STL,模拟,排序,枚举,查找,递推与递归,贪心,二分,双指针,前缀和、差分与离散化丨常见优化技巧,分治与倍增〔倍增Floyd〕,位运算丨三分,01分数规划字符串:基础丨kmp,字典树,AC自动机,最小表示法,后缀数组,后缀自动机数据结构:栈,队列,线性表,链表,二叉树,集合,图的基......
  • 数据库:编程(打开、操作(增、删、改、查)、关闭)
    一、需要的头文件sqlite3.h二、编译过程gccxxx-lsqlite3三、编程框架打开数据库==》读写数据库(增,删,改,查)==》关闭数据库3.1打开数据库:sqlite3_openintsqlite3_open(char*path,sqlite3**db);   功能:打开指定path路径+文件名称的数据库,并将打开的地址......
  • Windows 注册表编辑器(regedit)的演变和发展主要是由 Microsoft Windows 操作系统的设计
    Windows注册表编辑器(regedit)的演变和发展主要是由MicrosoftWindows操作系统的设计和需求驱动的。下面是大致的演化过程:需求和设计:在早期的Windows系统中,配置信息分散存储在各种配置文件和INI文件中,管理起来不够方便。为了统一管理系统配置信息,并提高系统的灵活性和可维......
  • C++程序设计最细教程
    1.类与对象(重点)1.1概念类:类是一个抽象的概念,描述同一类对象的特征。对象:符合类特性特性的实体。对象需要按照类的定义进行创建,因此先编写类才能创建对象。1.2类的内容类中最基础的内容包括两部分:属性(成员变量、数据成员)用来描述类对象的数据段,通常是名词变量,例......
  • Epson机器人编程初级阶(三)
    TCP通讯案例1.调用函数'TCP通讯案例GlobalStringX1$,Y1$,Z1$,U1$'定义全局变量FunctionTCP1Callinition'初始化程序,打开电源设置速度等CallNetConnet'建立连接DoCallData'调用接收数据函数GoXY(Val(X1$),Val(Y1$),Val(Z1......
  • Windows下C++动态链接库的生成以及使用
    目录一.前言二.生成动态链接库三.使用动态链接库四.其他一.前言这篇文章简单讨论一下Windows下如何使用VS生成和使用C++动态链接库,示例使用VS2022环境。二.生成动态链接库先创建C++项目-动态链接库(DLL)然后将默认生成的.h和.cpp文件清理干净,当然你也可以选择保......
  • Epson机器人编程初级阶(二)
    Wait等待时间与信号控制,时间默认单位是秒WaitSw(0)=On:等待输入0变为On状态Wait60.5:等待60.5秒后执行WaitSw(0)=OffAndSw(1)=On:等待输入0变为Off并且出入1变为On状态WaitMemsw(0)=OnOrMemsw(1)=On:等待储存位0变为啥On或存储位1变为On状态Wait1;On1:等待1......
  • 【Linux网络编程-6】IO复用
    select模型//selectServer.cpp#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<arpa/inet.h>#include<sys/socket.h>#include<errno.h>#include<sys/select.h>#include&......
  • 【C/C++】结构体内存对齐
    结构体内存对齐详解1、第一个成员在与结构体变量偏移量为0的地址处2、其他成员变量要偏移到对齐数的整数倍的地址处,注意偏移是从结构体首地址处开始的。对齐数取的是编译器默认的一个对齐数与该成员大小 这个俩个数中的最小值。【VS中默认的值为8、Linu......