C++随笔

文章强调了在C++编程中应遵循的一些最佳实践,如用const、enum和inline替换#define,理解变量的声明与定义的区别,避免头文件中的变量定义,以及合理使用extern。另外,文章还讨论了const在不同场景下的应用,包括const成员函数、mutable关键字以及const对象的逻辑常量性。
摘要由CSDN通过智能技术生成

1、尽量以const,enum,inline 替换 #define

2、定义式和声明式:

        变量定义:用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义。

        变量声明:用于向程序表明变量的类型和名字。

        定义也是声明:当定义变量时我们声明了它的类型和名字。

注意:

    1. 不要把变量定义放入.h文件,这样容易导致重复定义错误。

    2. 尽量使用static关键字把变量定义限制于该源文件作用域,除非变量被设计成全局的。

    3. 可以在头文件中声明一个变量,在用的时候包含这个头文件就声明了这个变量。

3、extern 

        extern inti; //声明,不是定义

        inti; //声明,也是定义

特别的class A{

private:

        static const int Num = 5 //常量声明式

};

4、取enum和#define的地址通常是不合法的

5、对于形似函数的宏(macros),最好改用inline函数替换#define

6、尽可能使用const

        const出现在 * 号左边,表示被指物是常量,在右边表示指针是一个常量
        迭代器中的使用

        函数的返回类型是个内置类型,那么改动函数的返回值从来就不合法

        在函数前面加const表示返回值为const类型,在函数后面加const则表示this指针为const,不能改变类的成员变量的值

        mutable修饰的变量在const修饰的函数里也可以改变

        将某些东西声明为const可帮助编译器侦测出错误用法。const可被施加于任何作用域内的对象、函数参数、函数返回类型、成员函数本体。

        编译器强制实施bitwise constness,但你编写程序应该使用”概念上的常量性“

        当const和non-const成员函数有着实质等价的实现时,令non-const版本调用const版本可避免代码重复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值