首页 > 编程 > C++ > 正文

c++学习1

2019-11-11 04:55:43
字体:
来源:转载
供稿:网友
(1)c++之父:本贾斯.斯特劳斯特卢普(2)c++语言的标准:c++98 c++03 c++11 c++14(3)c++集成开发工具(IDE):Eclipse CDT(linux环境)        VS(windows环境)(4)c++对c的升级(区别)     c++是一种面向对象的语言,而c是面向过程的语言(5)面向对象的三大特点:继承,多态,封装 因此c++作为面向对象的过程:继承决定其维护性好,封装决定其复用性强,多态决定其扩展性好(6)c++支持的编程范式    {     (1)过程式     (2)数据抽象     (3)基于对象     (4)面向对象式     (5)函数式     (6)泛型形式     (7)模板元形式    }     (7)设计模式     {      简单工厂模式      工厂模式      代理模式      适配器模式     }(8)c++中int i可以在for中定义例子:for(int i = 0;;i++)i只在这个for循环里有用,防止对for循环之后的i产生未知的影响(9)c语言里register关键字存储在寄存器中,无法取得register修饰的变量的地址     c++中register修饰的变量可以取得变量的地址(10)c语言中const修饰变量的内存空间可以修改,但无法通过变量名修改值‘      c++中修饰的变量不能访问(包括内存)      也就是const int 只能用const int来接收 (11)new和malloc的区别      {       1.new是c++里出现的,malloc是c库的       2.new属于运算符,malloc属于函数       3.new一具体类型为单位,malloc以字节为单位 char *ptr = new char[2];        int (*p)[2] = new int[2][2]        char *p = (char *) malloc(100 * sizoef(char))      4.new在单个类型变量可进行初始化,malloc不可以      } (12)引用vs指针   引用是给一个变量起别名   类型 &引用名 = 变量名   int a = 1;   int &b = a;    注意:引用一定要初始化,指明引用变量是谁的别名         在c++中,如果传num的值,用int &num来接,即对num的内存空间进行修改,num本来的之也会改变   区别:引用访问一个变量是直接访问,而指针是间接访问         引用是一个变量的别名,本身不单独分配自己的内存空间,而指针有内存空间         引用一经初始化不能再引用其它的变量,而指针可以         尽可能使用引用,不得已使用指针  (13)内联函数(以空间换时间) inline void add()        将子函数直接嵌进去(以内存空间换运行时间)        宏函数(以编译时间换运行空间)    内联函数与带参数宏区别    1.内联函数调用时,要求实参与形参类型一致,内联函数会先对实参表达式求值,然后传递给形参,而宏调用时只用实参简单代替形参    2.内联函数是在编译时在调用的地方将代码展开,而宏在预处理进行替换    3.在c++建议采用inline函数代替带参数宏   (14)函数重载     可以采用相同的函数名,但形参类型,个数,顺序不能都一样     例子:int add(int a);           int add(int a,int b);           int add(char a,int b);         这三个子函数可以同时存在,因为c++中,相同函数名讳自动根据形参区别,返回值不同不能作为重载条件    (15)在c++中调用c编译的函数,必须用extern "C"混合编译     #ifdef __cpluscplus     extern "C"     {     #endif         int add(int a, int b)     #ifdef __cpluscplus     }     #endif    (16)默认参数     int add(int a, int b = 1, int c = 2)     {         return a + b + c;     }      add(1)的值就是1+1+2 = 4     默认参数必须从右到左连续,即不能int add(int a = 1, int b, int c = 2)     函数重载与默认参数有可能冲突    
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选