摘要: C++的发展 ##C++11的新特性 auto 可以从初始化表达式中推断出变量的类型,属于编译器特性,不影响最终的机器码 auto a = 10; auto str = "hello"; auto p = new Person(); p->run(); ###decltype 可以获取变量的类型和O 阅读全文
posted @ 2021-08-05 17:07 弄啥来 阅读(164) 评论(0) 推荐(0)
摘要: 表达式赋值 在C++中有些表达式是可以被赋值的 int a = 10; int b = 20; (a = b) =3; (a < b ?a : b) = 4 C++中的仿函数 把对象当做一个函数使用,实现关键是重载函数运算符(),作为对象可以保存状态,通常可以用于工厂类内部 class Obj { 阅读全文
posted @ 2021-08-05 15:39 弄啥来 阅读(43) 评论(0) 推荐(0)
摘要: ##内联函数的作用 使用inline修饰函数的声明或者实现,可以使其变成内联函数,建议我们在声明和实现都写上inline 内联函数的特点 编译器会将函数的调用,直接展开为函数体的代码,可以减少函数调用的堆栈开销,但是会增大代码的体积 使用内联函数的注意事项 尽量不要内联超过10行代码的函数 有些函数 阅读全文
posted @ 2021-08-05 15:31 弄啥来 阅读(101) 评论(0) 推荐(0)
摘要: ##extern "C" extern "C" 主要是为了解决C++和C混编出现的问题,被extern "C" 修饰的代码会按照C语言的方式去编译 ##example 在C语言中是不支持函数重载的,这2个函数都加了extern "C" ,使用C语言的方式编译,就回报错 extern "C" void 阅读全文
posted @ 2021-08-05 15:06 弄啥来 阅读(105) 评论(0) 推荐(0)
摘要: #C默认参数 C允许使用默认参数,在调用的时候可以根据实际情况省略实参,规则如下 1.默认参数只能从右往左 2.如果函数有声明和实现,只能放在声明中。 3.默认参数的值可以是常量,全局符号(全局变量,函数名) ##example int g_variable = 20; //全局变量 void fu 阅读全文
posted @ 2021-08-05 14:26 弄啥来 阅读(485) 评论(0) 推荐(0)
摘要: 函数重载(Overload) 函数重载在C++中指的是函数名相同,参数个数不同,参数的类型不同,参数的顺序不同的多个函数构成重载。 ##Example int add(int a, int b) { return a + b; } double add(double a,double b) { re 阅读全文
posted @ 2021-08-05 14:12 弄啥来 阅读(173) 评论(0) 推荐(0)