1.
栈:函数区
堆:new的
自由存储区:malloc
全局存储区:全局变量、静态变量
2.关键字extern、static
extern:存在一个变量或函数,若在当前编译之前未找到,也会在当前或后面定义;可供所有源文件使用
static:供所有文件使用
3.
在64bit计算机,一个指针占用64bit 8字节
4.虚函数
虚函数的继承是调用权,不应从内存的角度分析
non-virtual:不希望子类重新定义
虚函数:子类重新定义
纯虚函数:子类一定要定义;virtual void dream()=0;
5.头文件的区别
旧式:#include
新式:#include
6. variadic templates
数量不定的模板参数
...代表pack(包)
7.spaces in template expression
vector >;// in each c++ version
vector>;// since c++ 11
8.nullptr and std::nullptr_t
nullptr取代0或NULL
9.auto:declare a variable or an object without specifying its specific type
auto i = 42;
反推类型
10.uniform initialization:一致性初始化
int value[]{1,2,3}
11.explicit for ctors taking more than one argument
作用在构造函数上明确化
non explicit,one argument
其主要目的是防止不应该发生的隐式类型转换。当一个类或类的成员函数被explicit修饰时,编译器将阻止在没有明确转换的情况下使用该类或成员函数。如果一个构造函数被声明为explicit,那么它只能被用于显式的类型转换,而不能被用于隐式的类型转换
12.=default =delete
= default
= default 修饰符告诉编译器为特定的成员函数生成默认实现。这通常用于那些我们想要保持默认行为,但又因为某些原因(比如类中有其他自定义的成员函数)而没有自动生成的成员函数。
class MyClass {
public:
MyClass() = default; // 使用默认构造函数
MyClass(const MyClass&) = default; // 使用默认拷贝构造函数
MyClass& operator=(const MyClass&) = default; // 使用默认拷贝赋值运算符
~MyClass() = default; // 使用默认析构函数
};
= delete
= delete 修饰符用于明确禁止某个成员函数的调用。当你不希望某个成员函数被调用时,可以将其声明为 = delete。这可以用于防止某些不安全的操作或者避免误解。
class NonCopyable {
public:
NonCopyable(const NonCopyable&) = delete; // 删除拷贝构造函数
NonCopyable& operator=(const NonCopyable&) = delete; // 删除拷贝赋值运算符
};
13.一个类只要带指针成员,自己写big three
14.alias template 模板化名
template
using vec = std::vector;
vec coll;
15:using用法
1.1using namespace std;使用using std:cout
16.noexcept
void foo()noexcept;保证不出异常
void foo() noexcept(true),在true的条件下无异常
17
vector成长动作 两倍大
原本的元素copy ctor新内存
如果写了move,则不用一个一个copy,直接move构造,比copy更有效
18.override改写函数签名要完全一样
19.成员函数const与nonconst构成重载
struct默认继承权限以及访问权限都为public
class默认继承权限和访问权限为private
20.
char a[]="ABC";
char b[]={'A','B','C'};
sizeof()内存大小
a:4,b:3
strlen:字符
a:3,b:3
21.空类占用1个字节
22.友元函数:提高了程序的运行效率 ,破坏封装性和隐蔽性,导致程序可维护性变差,谨慎使用
类中默认为私有
栈:函数区
堆:new的
自由存储区:malloc
全局存储区:全局变量、静态变量
2.关键字extern、static
extern:存在一个变量或函数,若在当前编译之前未找到,也会在当前或后面定义;可供所有源文件使用
static:供所有文件使用
3.
在64bit计算机,一个指针占用64bit 8字节
4.虚函数
虚函数的继承是调用权,不应从内存的角度分析
non-virtual:不希望子类重新定义
虚函数:子类重新定义
纯虚函数:子类一定要定义;virtual void dream()=0;
5.头文件的区别
旧式:#include
新式:#include
6. variadic templates
数量不定的模板参数
...代表pack(包)
7.spaces in template expression
vector
vector
8.nullptr and std::nullptr_t
nullptr取代0或NULL
9.auto:declare a variable or an object without specifying its specific type
auto i = 42;
反推类型
10.uniform initialization:一致性初始化
int value[]{1,2,3}
11.explicit for ctors taking more than one argument
作用在构造函数上明确化
non explicit,one argument
其主要目的是防止不应该发生的隐式类型转换。当一个类或类的成员函数被explicit修饰时,编译器将阻止在没有明确转换的情况下使用该类或成员函数。如果一个构造函数被声明为explicit,那么它只能被用于显式的类型转换,而不能被用于隐式的类型转换
12.=default =delete
= default
= default 修饰符告诉编译器为特定的成员函数生成默认实现。这通常用于那些我们想要保持默认行为,但又因为某些原因(比如类中有其他自定义的成员函数)而没有自动生成的成员函数。
class MyClass {
public:
MyClass() = default; // 使用默认构造函数
MyClass(const MyClass&) = default; // 使用默认拷贝构造函数
MyClass& operator=(const MyClass&) = default; // 使用默认拷贝赋值运算符
~MyClass() = default; // 使用默认析构函数
};
= delete
= delete 修饰符用于明确禁止某个成员函数的调用。当你不希望某个成员函数被调用时,可以将其声明为 = delete。这可以用于防止某些不安全的操作或者避免误解。
class NonCopyable {
public:
NonCopyable(const NonCopyable&) = delete; // 删除拷贝构造函数
NonCopyable& operator=(const NonCopyable&) = delete; // 删除拷贝赋值运算符
};
13.一个类只要带指针成员,自己写big three
14.alias template 模板化名
template
using vec = std::vector
vec
15:using用法
1.1using namespace std;使用using std:cout
16.noexcept
void foo()noexcept;保证不出异常
void foo() noexcept(true),在true的条件下无异常
17
vector成长动作 两倍大
原本的元素copy ctor新内存
如果写了move,则不用一个一个copy,直接move构造,比copy更有效
18.override改写函数签名要完全一样
19.成员函数const与nonconst构成重载
struct默认继承权限以及访问权限都为public
class默认继承权限和访问权限为private
20.
char a[]="ABC";
char b[]={'A','B','C'};
sizeof()内存大小
a:4,b:3
strlen:字符
a:3,b:3
21.空类占用1个字节
22.友元函数:提高了程序的运行效率 ,破坏封装性和隐蔽性,导致程序可维护性变差,谨慎使用
类中默认为私有
Colourful.
“Just imagine sitting in the Chile atacama desert. At night looking up in the sky and being able to even distinguish galaxies with your mere eye. They are so deeply filigrane and imperfectly perfect. No-one can ever recreate it like nature does.”
“This is their charm.”
“Just imagine sitting in the Chile atacama desert. At night looking up in the sky and being able to even distinguish galaxies with your mere eye. They are so deeply filigrane and imperfectly perfect. No-one can ever recreate it like nature does.”
“This is their charm.”
#ESO天文酷图##天文酷图#
【通往阿马佐内斯之路】
【信息来源日期:2015 年 4 月 22 日 12:15】
一条被汽车前灯照亮的土路很快就陷入了沙漠的黑暗中,星星在头顶上标记着它们的路径。
来源:ESO
版权:F. Char/ESO
翻译:baidu*
*:此为机器翻译且未人工审核,可能有不通顺的地方。
ESO:欧洲南方天文台是在南半球研究天文学,组织的一个研究机构,由15个国家组成和支援的一个天文研究组织。它成立于1962年,目的是为欧洲天文学家提供先进的设施和捷径以研究南方的天空。这个组织总部设在德国慕尼黑附近的加兴,雇用了约730名工作人员,每年并接受成员国约1亿3100万欧元的经费。
发布时间:2024年03月22日02时20分35秒
【通往阿马佐内斯之路】
【信息来源日期:2015 年 4 月 22 日 12:15】
一条被汽车前灯照亮的土路很快就陷入了沙漠的黑暗中,星星在头顶上标记着它们的路径。
来源:ESO
版权:F. Char/ESO
翻译:baidu*
*:此为机器翻译且未人工审核,可能有不通顺的地方。
ESO:欧洲南方天文台是在南半球研究天文学,组织的一个研究机构,由15个国家组成和支援的一个天文研究组织。它成立于1962年,目的是为欧洲天文学家提供先进的设施和捷径以研究南方的天空。这个组织总部设在德国慕尼黑附近的加兴,雇用了约730名工作人员,每年并接受成员国约1亿3100万欧元的经费。
发布时间:2024年03月22日02时20分35秒
✋热门推荐