首页 > 编程语言 >Effective C++ 导论

Effective C++ 导论

时间:2024-03-29 14:23:18浏览次数:28  
标签:member Effective inheritance 导论 C++ 运算符 pass

芝士wa
2024.3.29

Effective C++.pdf


“本书的目的在于引导你如何高效使用C++”

本书的研究范围:

  • 标准的设计策略
  • 特殊语言特性的具体细节

例如:

  • 如何在 inheritance(继承)和 templates(模板)之间选择?
  • 如何在 public(公有)和 private inheritance(私有继承)之间选择?
  • 如何在 member(成员)和 non-member functions(非成员函数)之间选择?
  • 如何在 pass-by-value(传值)和 pass-by-reference(传引用)之间选择?
  • assignment operators(赋值运算符)的合适的返回类型是什么?
  • destructor(析构函数)什么时候应该是 virtual(虚拟)的?
  • 当 operator new(运算符 new)找不到足够的内存时它应该怎么办?



阅读书籍,提高编程能力,提高编程规范性。

标签:member,Effective,inheritance,导论,C++,运算符,pass
From: https://www.cnblogs.com/cheese-wa/p/18103760

相关文章

  • C++17: 结构化绑定(Structured Bindings)
    遇到有时候写函数需要返回多个值的情况。C++17之前,只能事先定义一个结构体,然后返回这个结构体类型就可以了。但是如果你的这个结构体类型只在这个这里用一次呢。你还要抠脑壳想一个合适的结构体名字,麻烦!std::tupleC++11引入了一个新的类模板叫std::tuple,是一个容器,可以......
  • 《责任链模式(极简c++)》
            本文章属于专栏-概述-《设计模式(极简c++版)》-CSDN博客模式说明方案:责任链模式将请求的发送者和接收者解耦,构成一个链条,并由多个对象对请求进行处理,直到找到合适的处理者为止。优点:实现了请求发送者和接收者的解耦,灵活性高,易于扩展,每个处理者只需关注自......
  • 《代理模式(极简c++)》
            本文章属于专栏-概述-《设计模式(极简c++版)》-CSDN博客模式说明方案:代理模式充当了客户端和实际对象之间的中介,通过引入代理对象来控制对原始对象的访问。优点:通过代理,可以实现对目标对象的控制,提供更多的功能,例如延迟加载、访问控制、日志记录等。缺点......
  • MD5 计算 (下一代加密辅助类, Win32, C++)
    CCNGHelper.h#pragmaonce#include<string>#include<tchar.h>#include<windows.h>#include<bcrypt.h>#ifdef_UNICODEusing_tstring=std::wstring;#elseusing_tstring=std::string;#endif//下一代加密辅助类//客户端:WindowsVista及......
  • c++ string
     字符串是存储在内存的连续字节中的一系列字符。C++处理字符串的方式有两种,一种来自C语言,常被称为C-风格字符串,另一种是基于string类库的字符串处理方式。C风格字符串的处理可以参考 https://www.cnblogs.com/tongye/p/10688941.html ,本文着重介绍string类库的使用。......
  • C++学习笔记——007
    注意,int*pt;中pt是int值的地址并不意味着pt本身的类型是int。例如,在有些平台中,int类型是个2字节值,而地址是个4字节值。 对于指针,需要指出的另一点是,new分配的内存块通常与常规变量声明分配的内存块不同。常规变量的值都存储在被称为栈(stack)的内存区域中,而new从被称为堆(he......
  • C++学习笔记——006
    事实上,任何两个由空白(空格、制表符和换行符)分隔的字符串常量都将自动拼接成一个。因此,下面所有的输出语句都是等效的:cout<<"I'dgivemyrightarmtobe""agreatviolinist.\n";cout<<"I'dgivemyrightarmtobeagreatviolinist.\n";cout<<&qu......
  • lanqiao106. 正则问题 (第八届蓝桥杯C++A组)或者 acwing 1225. 正则问题
    问题:知识补充:1. 正则表达式的计算①括号代表优先计算,②或符号代表二选一。比如给的例子:((xx|xxx)x|(x|xx))xx 2. 字符串的语法问题:string是字符串的类型,使用的时候也使像字符一样使用,加入定义stringstr,那么使用的时候要写成str[]思考:妈呀一开始我不会算正则表达......
  • C++取经之路(其二)——含数重载,引用。
    含数重载:函数重载是指:在c++中,在同一作用域,函数名相同,形参列表不相同(参数个数,或类型,或顺序)不同,C语言不支持。举几个例子:1.参数类型不同intAdd(intleft,intright){ cout<<"intAdd(intleft,intright)"<<endl; returnleft+right;}doubleAdd(doublele......
  • C++17 一些新特性的简单描述
    其实很多17的官方新特性早就被很多非官方的库支持,反复验证完善后被官方收录。1、std::optionalstd::optional<vector<int>>list={}/std::nullopt/{{}};不就是表示一个值存在与否是可选的吗注意下{{}}和nullopt的区别,笔者偶尔遇见过相关bug,毕竟通信行业,信息内容中空列表......