C++语言
-
函数与后置返回类型、
-
函数可以没有形参 但实参的值必须有 类型不能省略、
-
前置返回类型、将函数返回类型放在函数名称前
-
void b(int, int);//函数声明是可以只有类型 没有函数形参名 void a(int b, int)//只给类型、没有形参变量名、 { return; } int main() { a(10, 39); }
-
C++11出现了后置返回类型、函数返回类型写在参数列表之后、
-
auto b(int, int)->void;//函数声明后置返回类型 auto a(int b, int)->void//auto 自动类型推断、函数定义后置返回类型、 { return; } int main() { a(10, 39); }
-
前面放置auto便是函数的返回类型放在参数列表之后、而参数列表之后的返回类型通过->开始、
-
-
-
内联函数、
-
普通函数定义前加inline、便是内联函数、
-
inline int a(int b)//内联函数 { return 1; }
-
调用函数消耗系统资源、内联解决了函数体小、而且频繁调用的函数、
-
inline影响编译阶段、在编译期尝试将调用该函数的动作替换成函数本体、目的是提升性能、
-
函数动作替换为函数本体会带来代码膨胀问题、
-
inline取决于编译器、
-
-
-
函数杂合用法、
-
void 表示函数不返回任何类型 但是可以调用一个返回类型为void的函数、作为另一个返回类型void的函数返回值、
-
void a() { } void b() { return a(); return; }
-
函数返回指针和返回引用、
-
这样使用有安全问题、这样是往其它地址写入内容、
-
int* a() { int b = 3; return &b;//函数执行后、此段内容便会被系统回收、 }
-
3. 返回引用、 1. ```c int &a() { int a = 3; cout << &a << endl; return a; } int main() { int& b = a(); cout << &b << endl;//同样也是有安全问题、使用整型来解决安全问题 int b = a(); cout << &b << endl;//使用整型来解决安全问题、这样的话就不是同样的一个地址、不用担心内存问题、 }
-
没有形参可以保持形参列表为空
-
函数不调用的话可以只有声明部分、没有定义部分、
-
函数定义一般只能定义一次、但可以多次声明、函数定义一般放在.cpp文件中,函数声明文件一般放在.h里面、
-
引用做形参、
-
struct a { int b; };//定义结构体 void c(a& d) { d.b = 50; } int main() { a e; e.b = 190; c(e); cout << e.b << endl; }
-
2. 不存在只拷贝问题、只是传递地址、 7. 防止形参和实参的只拷贝、所以尽量使用引用类型的形参取代指针类型的形参、
-
-
-
-
const char、char const、char const三者的区别、
- 把形参写成const的好处、可以防止无意中修改了形参的值导致实参被改变、
2. 实参类型更灵活、
3.
- 把形参写成const的好处、可以防止无意中修改了形参的值导致实参被改变、
-
函数形参中带const