随笔分类 - C++
1
摘要:1、”结果等于这个负数加上无符号数的模“ unsigned int u = 10; int i = -42; std::cout << u + i << std::endl; 如果 int 是32位,unsigned int 的范围是从 0 到 4,294,967,295,而 int 的范围是从 -
阅读全文
摘要:1、泛型编程是什么? 泛型编程(Generic Programming)是一种编程范式,旨在编写可重用和通用的代码,以适应多种数据类型而不是针对特定数据类型。泛型编程的主要思想是将算法和数据结构从特定数据类型中抽象出来,使它们可以应用于各种数据类型,同时保持代码的高度可复用性和灵活性。 2、什么类型
阅读全文
摘要:1、C++中的“声明符”是什么? 声明符是用来指定变量或函数的类型、名称和属性的符号。例如: int list[20]; 声明了一个名为 list 的整型数组,它有 20 个元素。int是类型说明符,list[20]是声明符 char *cp; 声明了一个名为 cp 的指向字符的指针1。*cp是声明
阅读全文
摘要:P45倒数第五行“引用为对象起了另外一个名字,引用类型引用另外一种类型。” int x = 10; // 声明一个整数变量x,并初始化为10 int &refX = x; // 声明一个整数引用refX,它是x的别名 ref就是x的另外一个名字,refX就是引用类型,它引用了x(int整形) P45
阅读全文
摘要:1、什么是分离式编译? 分离式编译(Separate Compilation)是一种软件开发技术,用于将一个大型的程序分割成多个独立的源代码文件,并分别进行编译。每个源代码文件通常包含一个模块、类、函数或者其他逻辑单元的实现。 2、声明使得名字为程序所知,一个文件如果想使用别处定义的名字则必须包含对
阅读全文
摘要:1、我们必须牢记pc所指的真实对象是一个int而非字符。这句话还有点模糊。 如果您在代码中使用了旧式的强制类型转换,并且将其替换为 static_cast 或 const_cast 后仍然是合法的,那么这个转换的行为将与原来的旧式转换一致。 然而,如果将旧式强制类型转换替换为 static_cast
阅读全文
摘要:参考资料: 6-命名空间_哔哩哔哩_bilibili 1、什么是命名空间? 一个区域、一个包裹、一个作用域、一个范围 2、举例 #include <iostream> namespace kkb{ class Washer{ public: std::string str; int vol; voi
阅读全文
摘要:参考资料: 【C++ const的各种用法详解】【const用法深入浅出】 - COS - 博客园 (cnblogs.com) const的基本概念: const名叫常量限定符,用来限定特定变量,以通知编译器该变量是不可修改的。习惯性的使用const,可以避免在函数中对某些不应修改的变量造成可能的改
阅读全文
摘要:参考资料: C++ 继承 | 菜鸟教程 (runoob.com) 面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行效率的效果。 当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指
阅读全文
摘要:1、”不包含底层const,都可以使用 static_cast“目前不理解这句话(整数第四行) 1、指针的类型是int*,double*,float*等 1、int a = 5; int* b = &a; 这个时候是可以称呼b为指针。 2、把指针放在void*中,其实是指的是把指针放在void这个类
阅读全文
摘要:参考资料: C++编程语言中赋值运算符重载函数(operator=)介绍_operator==_liitdar的博客-CSDN博客 C++ operator关键字(重载操作符)_CodingStart的博客-CSDN博客 本文主要介绍 C++ 编程语言中赋值运算符重载函数(operator=)的相关
阅读全文
摘要:参考资料: C++构造函数详解 (biancheng.net) C++构造函数初始化列表 (biancheng.net) 在C++中,有一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户显式调用(用户也不能调用),而是在创建对象时自动执行。这种特殊的成员函数就是构造函数(Construc
阅读全文
摘要:参考资料: C++类模板(模板类)详解 (biancheng.net) 每天学点C++之模版 (qq.com) 人们需要编写多个形式和功能都相似的函数,因此有了函数模板来减少重复劳动;人们也需要编写多个形式和功能都相似的类,于是 C++ 引人了类模板的概念,编译器从类模板可以自动生成多个类,避免了程
阅读全文
摘要:参考资料: C++中&的功能 及 用法 - konglingbin - 博客园 (cnblogs.com) C++ 中的&:“&引用” 和“&取地址符”的区别和作用_&在c加加中的别名和地址区别_非长道的博客-CSDN博客 对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因
阅读全文
摘要:参考资料: C++类的定义和对象的创建详解 (biancheng.net) 类和对象是 C++ 的重要特性,它们使得 C++ 成为面向对象的编程语言,可以用来开发中大型项目,本节重点讲解类和对象的语法,如果你对它们的概念还不了解,请先阅读《C++类和对象到底是什么意思》。 类是创建对象的模板,一个类
阅读全文
摘要:首先我们介绍直接初始化:编译器使用普通的函数匹配来选择与我们提供的参数最匹配的构造函数。文字描述可能会让你们云里雾里,那我们直接看代码: //先设计这样的一个类 class A{ public: A(){ cout << "A()" << endl; } A(int a){ cout << "A(i
阅读全文
摘要:参考资料: C++11 shared_ptr智能指针(超级详细) (biancheng.net) c++ 智能指针用法详解 - tenos - 博客园 (cnblogs.com) 第 5 章 智能指针与内存管理 现代 C++ 教程: 高速上手 C++ 11/14/17/20 - Modern C++
阅读全文
摘要:参考资料: C++ 中的 this 指针 | 菜鸟教程 (runoob.com) C++ this指针(直戳本质) (biancheng.net) C++ this指针详解(精辟) (biancheng.net) 在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址。this 指针是所
阅读全文
摘要:C++中的operator主要有两种作用,一是操作符重载,二是自定义对象类型的隐式转换。在上面提到的point类中,我们提到如果构造函数没有默认参数,隐式转换的时候就会编译出错,但是如果我们利用operator的第二个作用,就可以自定义隐式转换类型。 #include <iostream> #inc
阅读全文
摘要:C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。 1 是个构造;2 是个默认且隐含的类型转换操作符。 所以, 有时候在我们写下如 AAA = XXX, 这样的代码, 且恰好XXX的类型正好是AAA单参数构造器的参数类型, 这时候编译器就自动调
阅读全文
1