当前位置: 首页 > news >正文

学习网站开发思路b2b自动发布信息软件

学习网站开发思路,b2b自动发布信息软件,做淘客网站用备案吗,重庆建设教育培训网证书查询Item01 视C为一个语言联邦 C由四个次语言组成: C:过程形式,没有模板、没有异常、没有重载Object-Oriented C:面向对象形式,类(构造函数和析构函数)、封装、继承、多态Template:泛型…

Item01 视C++为一个语言联邦

C++由四个次语言组成:

  • C:过程形式,没有模板、没有异常、没有重载
  • Object-Oriented C++:面向对象形式,类(构造函数和析构函数)、封装、继承、多态
  • Template:泛型编程、模板元编程
  • STL:容器、算法、迭代器和函数对象

Item02 尽量以const,enum,inline替换#define

目标是让编译器来替代预处理器,使用预处理器会存在以下问题:

1. 预处理器只进行简单的替换,变量名称不会被记录符号表,同时可能导致编译的目标文件包含常量的多份拷贝;

#define ASPECT_RATIO 1.653
// 如果没有被记录到符号表,程序遇到编译错误时,输出的错误信息1.653
// 会带来不必要的排查时间
// 替换为
const double AspectRatio = 1.653;

2. 定义字符串的采用string替换char*,避免写两次const的情况出现;

const char* const authorName = "Scott Meyers";
//替换为
const std::string authorName("Scott Meyers");

3. #define没有作用域,不能将常量的作用域限制在class内;

class GamePlayer {
private:static const int NumTurns = 5; // 常量声明int scores[NumTurns];          // 使用该常量
}

4. 如果上述类中,编译器不允许在类中设定初值,可以改用枚举值替代;

5. enum 和 #define定义的对象不会导致非必要的内存分配;

class GamePlayer {
private:enum { NumTurns = 5 }; // NumTurns 成为5的记号名称int scores[NumTurns];  
}
  • enum 行为类似#define,而不像const,因为对const对象取地址是合法的,对前面两个定义的对象取地址是不合法的;
  • 在C++中,enum类型的取值通常被编译器实现为整数(右值),对右值取地址是非法的;
  • 它们的值被编译器直接嵌入到生成的机器码中,不会在栈上开辟空间,没有内存分配的过程。

6. 形似函数的宏,最好用inline函数替换

  • 宏定义避免了函数调用的开销
  • 但是存在行为不可预料以及类型安全等问题
#define CALL_WITH_MAX(a, b) f((a) > (b) ? (a) : (b))
int a = 5, b = 0;
CALL_WITH_MAX(++a, b);    // a被累加两次
CALL_WITH_MAX(++a, b+10); // a被累加一次// 替换为
template<typename T>
inline void callWithMax(const T& a, const T& b) { f(a > b ? a : b);
}

http://www.hkea.cn/news/558141/

相关文章:

  • 公司注册地址和经营地址不一致可以吗长春seo招聘
  • 好的做问卷调查的网站好推广有奖励的app平台
  • 有专业设计网站吗百度指数与百度搜索量
  • 网站的整体结构百度云网盘资源搜索引擎入口
  • 咸阳网站建设哪家专业杭州优化公司在线留言
  • 地板网站建设门户网站
  • 新增备案网站负责人人工智能培训心得体会
  • 帮境外赌场做网站是否有风险百度企业号
  • 网站换了服务器百度seo排名优化公司哪家好
  • 海南网站建设制作网络营销效果评估
  • 飞阳建设网站上海广告公司
  • 营销网站导航栏常见网站搜索排名靠前
  • 深圳市政府网站官网百度地图疫情实时动态
  • 上海建设工程咨询网 首页深圳优化排名公司
  • 杭州哪个网站建设最好做网站的网络公司
  • 制作一个网站步骤东莞网络营销销售
  • 专业的营销网站建设公司百度联盟注册
  • 机械类网站用什么做背景指数运算法则
  • 微信如何绑定网站加速游戏流畅的软件
  • 茂名整站优化百度问答首页
  • 手机网站搭建网络宣传方式
  • 2003网站建设网站seo哪家公司好
  • 成都学校网站制作2022年国际十大新闻
  • 工厂外贸网站建设台州网络推广
  • 酒店网站建设方案策划百度seo怎么做网站内容优化
  • 网站更改公司需要重新备案吗搜索网页内容
  • 现在做网站还用dw做模板了吗成人电脑速成培训班
  • 做app要不要建网站刚开的店铺怎么做推广
  • 做生存分析的网站有哪些专业的网站优化公司
  • 网站双倍浮动百度联盟app