Effective c++

本文介绍了C++编程的一些有效实践,包括将C++视为一个语言联邦,利用const、enum和inline替换#define,尽可能使用const,以及确保对象在使用前被初始化。强调了const在编程中的重要性,以及初始化与赋值的区别,并提醒开发者注意多线程环境下静态对象的初始化问题。
摘要由CSDN通过智能技术生成

一、自己习惯C++

1、视C++为一个语言联邦

        C++是一个多重泛型编程语言(multiparadigm programming language),一个同时支持过程形式(procedural)、面向对象形式(object-orientd)、函数形式(functional)、泛型形式(generic)、元编程形式(metaprogramming)的语言。

        理解C++,需要认识其四个次语言:

        C:C++以C为基础。区块(block)、语句(statements)、预处理器(preprocessor)、内置数据类型(built-in data types)、数组(arrays)、指针(pointers)等。

        Object-Oriented C++:C with Classes所诉求的。classes(包括构造函数和析构函数),封装(encapsulation)、继承(inheritance)、duotai (polymorphism)、virtual函数(动态绑定)...等等。

        Template C++:泛型编程(generic programming)部分.

        STL:temp;ate程序库,它对容器(containers)、迭代器(iterators)、算法(algorithms)以及函数对象(funtion object)的规约极佳的紧密配合与协调。

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

        尽量使用编译器处理,不要使用预处理器

        #define ASPECT_RATIO 1.653从未被编译器看见,它在预处理阶段会被替换。所使用的名称可能并未进入记号表(symbol table)。

        解决方法:使用一个常量替换上述的宏(#define):

        const double AspectRatio = 1.653;

        常量替换的两种特殊情况:

        将指针声明为const

        const char* con

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值