C++之基础知识学习笔记
2017-06-30 10:39
495 查看
C++引入命名空间可以有效避免大型项目中的各种名称冲突。
class是C++的核心,是面向对象编程的核心内容。
在C++中,不同类型的指针是不能直接赋值的,必须进行强制转换。
new和delete是C++內建的操作符,不需要任何头文件,用new分配的内存必须用delete释放,不要用free。
内联函数:inline关键字的意思是,内联函数不作为函数调用,而是直接把内联函数的代码嵌入到调用的语句中。
内联函数适合函数代码很少,并且频繁的大量调用。
引用就是一个变量的别名,而不是地址。
C++允许函数在定义的时候,提供缺省参数,如果调用函数的时候没有提供形参,那么形参的值就是缺省值。
函数的重载:
函数的名称是一样的,但参数不同可以重载
函数的参数相同,但返回值不同,不可以重载
如果类函数返回的是成员变量的指针,为了避免在类外部成员变量被修改,所以函数就要返回常量指针。
如果一个类成员变量和一个全局变量重名,那么在类成员函数当中默认访问的是类的成员变量。
在类的内部访问全局标识,关键字::
类其实就是结构的数据成员加可执行代码,同时提供封装,继承,多态。
类成员变量作用域局限于类内部,类的外部是不可见的。
由于析构函数只有一个,所以不同的构造函数里面给函数的成员指针分配内存的时候,一定要统一new或者new[]。
拷贝构造函数:
浅拷贝:两个对象之间成员变量简单的赋值。
深拷贝:不同的对象指针成员指向不同的内存地址,拷贝构造的时候不是简单的指针赋值,而是将内存拷贝过来。
原则:如果类成员有指针,那么需要自己实现拷贝构造函数,不然存在浅拷贝风险。
类成员后面的关键字const意思是告诉编译器,这个函数内部不会对类成员变量做任何修改。
函数的参数如果是一个类,那么就用类的引用。如果不想参数被调用函数内部修改,那么就采用const&。
explicit:告诉C++编译器,要明确的调用这个构造函数,而不要自作聪明的认为=操作符是调用构造的。
this就是指向自己实例的指针。
static变量是存放在静态内存区的,程序加载就存在,一直到程序退出才清理。
类的static成员和类的对象没有直接关系,类的静态成员是放到静态内存区的,程序开始执行就存在,一直到程序结束才清理。
类的静态成员变量不论类的实例有多少,但成员变量只有一份。
类的静态函数内部不能直接访问类的动态成员变量。
class是C++的核心,是面向对象编程的核心内容。
在C++中,不同类型的指针是不能直接赋值的,必须进行强制转换。
new和delete是C++內建的操作符,不需要任何头文件,用new分配的内存必须用delete释放,不要用free。
内联函数:inline关键字的意思是,内联函数不作为函数调用,而是直接把内联函数的代码嵌入到调用的语句中。
内联函数适合函数代码很少,并且频繁的大量调用。
引用就是一个变量的别名,而不是地址。
C++允许函数在定义的时候,提供缺省参数,如果调用函数的时候没有提供形参,那么形参的值就是缺省值。
函数的重载:
函数的名称是一样的,但参数不同可以重载
函数的参数相同,但返回值不同,不可以重载
如果类函数返回的是成员变量的指针,为了避免在类外部成员变量被修改,所以函数就要返回常量指针。
如果一个类成员变量和一个全局变量重名,那么在类成员函数当中默认访问的是类的成员变量。
在类的内部访问全局标识,关键字::
类其实就是结构的数据成员加可执行代码,同时提供封装,继承,多态。
类成员变量作用域局限于类内部,类的外部是不可见的。
由于析构函数只有一个,所以不同的构造函数里面给函数的成员指针分配内存的时候,一定要统一new或者new[]。
拷贝构造函数:
浅拷贝:两个对象之间成员变量简单的赋值。
深拷贝:不同的对象指针成员指向不同的内存地址,拷贝构造的时候不是简单的指针赋值,而是将内存拷贝过来。
原则:如果类成员有指针,那么需要自己实现拷贝构造函数,不然存在浅拷贝风险。
类成员后面的关键字const意思是告诉编译器,这个函数内部不会对类成员变量做任何修改。
函数的参数如果是一个类,那么就用类的引用。如果不想参数被调用函数内部修改,那么就采用const&。
explicit:告诉C++编译器,要明确的调用这个构造函数,而不要自作聪明的认为=操作符是调用构造的。
this就是指向自己实例的指针。
static变量是存放在静态内存区的,程序加载就存在,一直到程序退出才清理。
类的static成员和类的对象没有直接关系,类的静态成员是放到静态内存区的,程序开始执行就存在,一直到程序结束才清理。
类的静态成员变量不论类的实例有多少,但成员变量只有一份。
类的静态函数内部不能直接访问类的动态成员变量。
相关文章推荐
- [学习笔记]C和C++中指针的基础知识点(一)
- [学习笔记]C和C++中指针的基础知识点(二)
- C++学习笔记1--基础知识
- C/C++学习笔记:基础知识7
- C++学习笔记(第一章 C++的基础知识 之一)
- C++学习笔记——基础知识
- C/C++ 基础知识学习笔记 (不断更新中)
- C/C++学习笔记:基础知识10
- 【C++面向对象学习笔记】-基础知识
- C++学习笔记---------基础知识sizeof用法
- C++学习笔记(一)--基础知识sizeof用法
- C++基础学习笔记----第二课(引用的基础知识)
- C/C++学习笔记:基础知识6
- C/C++学习笔记:基础知识2
- C/C++学习笔记:基础知识4
- C++基础知识学习笔记(一)
- C/C++学习笔记:基础知识
- C/C++学习笔记---primer基础知识
- C/C++学习笔记:基础知识11
- cocos2d-x学习笔记(一)C++基础知识