
C++
一头小猪猪
这个作者很懒,什么都没留下…
展开
-
this指针
this指针的引入Data类中有多个成员函数,函数体中没有关于不同对象的区分,那么当s1调用SetData函数时,该函数怎么知道设置s1对象,而不是设置s2对象呢?C++引入了this指针来解决这个问题--->C++编译器给每个“成员函数”增加了一个隐藏的指针参数(即this指针),让该指针指向当前对象,在函数体中所有成员变量的操作,都是通过该指针访问的。注意:this...原创 2019-03-25 15:33:20 · 257 阅读 · 2 评论 -
类的6个默认成员函数
空类:类中无任何成员,但是,任何一个类在我们不写的情况下,都会自动生成下面6个默认成员函数。(C++98)原创 2019-03-25 20:29:13 · 178 阅读 · 0 评论 -
C++关键字
我们理解关键字的时候,应该考虑是在什么标准下有多少关键字。原创 2019-06-26 08:57:39 · 395 阅读 · 0 评论 -
缺省参数与函数重载
缺省参数概念:缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。 void TestFunc(int a = 0) { cout<<a<<endl; }int main(){ TestFunc(); // 没有传参时,使用参数的默认值 TestFunc(10); //...原创 2019-07-18 09:25:58 · 299 阅读 · 0 评论 -
引用
概念:引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。 类型& 引用变量名(对象名) = 引用实体;void TestRef(){ int a = 10; int& ra = a;//<====定义引用类型 printf("%p\n", &a); printf...原创 2019-07-18 17:15:21 · 689 阅读 · 0 评论 -
内联函数与auto关键字
内联函数概念:以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数压栈的开销,内联函数提升程序运行的效率。 如果在上述函数前增加inline关键字将其改成内联函数,在编译期间编译器会用函数体替换函数的调用。 查看方式: 1. 在release模式下,查看编译器生成的汇编代码中是否存在call Add 2. 在debug模式下,需要对编...原创 2019-07-18 22:26:25 · 206 阅读 · 0 评论 -
命名空间
命名空间在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。定义:定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。1.普通...原创 2019-07-17 17:01:19 · 245 阅读 · 0 评论 -
C++输入&输出
一个程序必定有3个状态:标准输入、标准输出和标准错误#include<iostream>using namespace std;int main(){cout<<"Hello world!!!"<<endl;return 0; }1. 使用cout标准输出(控制台)和cin标准输入(键盘)时,必须包含< iostream >头...原创 2019-07-17 17:09:41 · 252 阅读 · 0 评论