- 博客(3)
- 收藏
- 关注
原创 初识C++(3)
现代编译器会为了尽可能提高程序的效率,在不影响正确性的情况下会尽可能减少一些传参和传返回值过程中可以省略的拷贝。如何优化C++标准并没有严格规定,各个编译器会根据情况自行处理。当前主流的相对新一点的编译器对于连续一个表达式步骤中的连续拷贝会进行合并优化,有些更新更"激进"的编译还会进行跨行跨表达式的合并优化。单参数类型转换,在不优化的情况下是一个构造加拷贝构造,但是实际的结果却不是这样,而是直接就是一个构造,中间原本会出现的临时对象就会消失。这种情况下,中间的临时对象就省略不了了,不能合二为一了,
2024-09-10 20:32:40 468
原创 初识C++(2)
1.class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。2.为了区分成员变量,一般习惯上成员变量会加一个特殊标识,如成员变量前面或者后面加_或者m开头,注意C++中并不是强制的,只是一些惯例,具体看要求。但是在有些情况下,为了保证程序的可读性,还是需要加上特殊标识的class Datepublic://成员函数//声明放在类中private://成员变量。
2024-09-08 22:11:22 719
原创 初识C++(1)
1.定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。命名空间中可以定义变量/函数/类型等。2.namespace本质是定义一个域,这个域跟全局域各自独立不同的域可以定义同名变量同一个域不能定义同名变量。3.C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找一个变量/函数/类型出处(声明或定义)的逻辑,所以有了域隔离,名字冲突就解决了。局部域和全局域除了会影响编译查找逻辑,还会影响变量的生命周期,
2024-09-04 09:15:20 713
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人