C++基础记录(一)

当库参数在vs2015中不支持时,加入宏:(报错提示:C4996错误)

#define _CRT_SECURE_NO_WARNINGS

双冒号作用域运算符(作用域运算符)
当存在同名的局部变量,可以用双冒号引用同名全局的变量

namespace主要用途 用来解决命名冲突

C++基础记录(一)
C++基础记录(一)
C++基础记录(一)
using关键字:声明后就用该作用域的变量,如果有痛的局部变量容易产生二义性,就近原则,如果打开多个作用域,避免二义性

尽量用const代替#define
C++基础记录(一)

引用就是取别名,&写到左侧叫引用,写到右侧叫取地址,本质是一个指针常量
引用必须初始化,初始化后不可修改

int &a = b;
相当于:
int* const a = &b;

C++基础记录(一)
const引用:(不要修改const的值),用来修饰形参,如果只想显示内容,而不修改内容,那么就用const修饰这个形参

const int &ref = 10;
相当于:
int tem = 10;
const int &ref = tem; 

C++基础记录(一)
C++基础记录(一)
内联函数:(用来代替宏函数),内联函数占用空间,但省去函数调用时压栈、跳转、返回的开销,理解以空间换时间。类成员函数默认前面加inline关键字。
C++基础记录(一)
宏函数缺陷:加不加小括号都可能出错
C++基础记录(一)

宏函数定义和实现必须都加关键字inline
inline void func(int a){
    a++;
}

默认参数:
C++基础记录(一)
函数占位参数:一般都不用的
C++基础记录(一)
#pragma once防止头文件重复编译
错误:无法解析外部命令,都是因为链接不到函数

extern c的解析;

C++基础记录(一)
如果有多个show函数。
C++基础记录(一)
C++基础记录(一)