![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 50
侯捷老师c++视频的学习笔记
双非渣渣的自赎之路
努力努力
展开
-
struct内存对齐
结构体内存对齐对齐原则在明白了为何要进行内存对齐之后,我们来分析结构体内的内存对齐,在进行具体的实例分析前,需要给出结构体内存对齐的两条基本原则。一、结构体各成员变量的内存空间的首地址必须是“对齐系数”和“变量实际长度”中较小者的整数倍。二、对于结构体来说,在其各个数据都对齐之后,结构体本身也需要对齐,即结构体占用的总大小应该为“对齐系数”和“最大数据长度”中较小值的整数倍。在给定了基本原则之后,我们通过一个例子来说明结构体的内存对齐,假定当前的处理器是 32 位的,对齐系数为4。在这里转载 2022-04-25 19:36:14 · 927 阅读 · 0 评论 -
C++创建对象时区分圆括号( )和大括号{ }
C++11的对象初始化的语法选择是不堪和混乱的。总的来说,初始值可以借助大括号'{ }',等号'=' ,圆括号'( )' :int x(0); // 初始值在圆括号内int y = 0; // 初始值在等号后面int z{0}; // 初始值在大括号内使用等号初始化经常会让C++初学者认为会进行一次赋值,但不是那样的,对于内置类型,例如int,初始化和赋值操作的差别是模糊的。但是对于用户定义的类,区分初始化和赋值操作是很重要的,因为这会导致不同的函数调用:Widg..转载 2022-04-08 01:01:22 · 1664 阅读 · 0 评论 -
c++ enum类型的使用
枚举数据类型是一种由程序员定义的数据类型,其合法值是与它们关联的一组命名整数常量。之所以被称为枚举类型,就是因为命名常量是作为数据类型定义的一部分而枚举或列出的,以下是枚举类型声明的示例:enum Roster {Tom, Sharon, Bill, Teresa, John};该语句将创建一个名为 Roster 的数据类型。因为单词 enum 是 C++ 关键字,所以它必须小写,值得注意的是,数据类型本身的名字是以大写字母开头的。虽然这并非必须,但是绝大多数程序员都会釆用首字母大写的形式。和转载 2022-04-08 00:31:05 · 308 阅读 · 0 评论 -
C++ 中using 的使用
#include <iostream>//第一处using namespace std;class ClassOne {public: int w;protected: int a;};class ClassTwo{public: //第二处 using ModuleType = ClassOne;};template <typename ClassType>class ClassThree : private Clas.转载 2022-04-08 00:03:39 · 910 阅读 · 0 评论 -
C++命名空间 namespace的作用和使用解析
一、 为什么需要命名空间(问题提出)命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突。在 C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。在不同的作用域中可以定义相同名字的变量,互不于扰,系统能够区别它们。1、全局变量的作用域是整个程序,在同一作用域中不应有两个或多个同名的实体(enuty),包括变量、函数和类等。例:如果在文件中定义了两个类,在这两个类中可以有同名的...转载 2022-04-07 22:25:45 · 2390 阅读 · 0 评论 -
模板全特化和偏特化
模板特化就是告诉编译器我这有更好的实现,走我这边,能更快的执行。类模板特化分为全特化和偏特化,全特化就是对所有的模板类型给一个限定,偏特化只限定一部分,可分为个数偏,范围偏具体如下代码://模板类 tempalte<class T1, class T2>class Person{ public: void printMem(){ cout<<m_A<<endl; cout<<m_B<<endl; }原创 2021-09-12 22:00:03 · 471 阅读 · 0 评论 -
类模板,函数(成员函数)模板
具体定义使用如下代码:#include<iostream>using namespace std;//模板函数template<class T>void myPrint(T& a) { cout << a << endl;}//模板类template<class T1>class Number{public: //构造函数模板 template<class T3> Number(T3原创 2021-09-12 21:14:35 · 295 阅读 · 0 评论 -
c++:友元函数
()原创 2021-09-02 14:49:22 · 113 阅读 · 0 评论 -
c++:内联函数
(所有内容只为自己总结,方便查看复习)当一些函数简单语句少时,通常会将其作为内联函数。内联函数在调用点"内联的"展开,而不是像正常调用函数般在调用前要先保存寄存器,并在返回时恢复,复制实参,程序还必须转向一个新位置执行一系列操作。从而提高了函数执行效率。使用关键字inline放在函数定义前面,将函数指明为内联函数。如:inline int max(int a, int b){ return a > b ? a : b;}则调用: cout<<max(a,原创 2021-09-02 10:20:37 · 72 阅读 · 0 评论 -
c++防卫式声明
基于对象,面向对象C++语言 标准库头文件中防卫式声明:#ifndef __COMPLEX__#原创 2021-09-01 15:53:26 · 351 阅读 · 0 评论