extern
,所以要使得const 变量在其他文件中访问,必须在文件中显示地指定它为extern
;return *this
;A *const
,const成员函数则为const A *const
.volatile
是一种类型修饰符,使用volatile
声明的类型变量都会被意外的更改,编译器不应对这样的对象进行优化。volatile
声明的变量,每次访问都必须从内存中取出(没有被 volatile 修饰的变量,可能由于编译器的优化,从 CPU 寄存器中取值)#include<assert.h>
前加上 #define NDEBUG
::
scope resolution operator 首先先这个符号在C中并不支持int
;c.枚举的实际类型不能明确指定(比如指定为字符'a'
,最后会隐式转为ASCII码97)namespace
是担心封闭性不高;(解决上述问题1.a)
b.c++11中enum class
(解决上述所有问题)#define MAXSIZE 100
这样全局的宏常量处理,可能问为啥不用const
,因为const
数据成员只能在某个对象的生命周期内是常量,不同的对象无法保证是一样的。/*2.b*/
enum class Color3:char; // 前向声明
// 定义
enum class Color3:char
{
RED='r',
BLUE
};
char c3 = static_cast<char>(Color3::RED);
/*3*/
class Person{
public:
typedef enum {
BOY = 0,
GIRL
}SexType;
};
//访问的时候通过,Person::BOY或者Person::GIRL来进行访问。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。