使用头文件,分离声明与定义
防止重复包含:
#ifndef FUNC_H
#define FUNC_H
....
#endif
main函数的命令行参数:
#include <iostream>
#include <cstdio> //atoi() int main(int argc, char** argv)
{
if (argc != )
{
std::cout << "usage:" << argv[] << "op1 op2 " << std::endl;
return ;
}
int a, b;
//std::cin >> a >> b >> c;
a = atoi(argv[]);
b = atoi(argv[]);
std::cout << a + b << std::endl;
return ;
}
变量定义:
auto变量
由编译器根据上下文自动确定变量的类型,如:
auto i = 3;//i是int型变量
auto f = 4.0f;//f是float型变量
指针变量的动态生成与删除
指针变量所指内存可以通过new/delete运算符在程序运行时动态生成和删除:
int* ptr = new int;
int *array = new int[10];
delete ptr;
delete []array;//删除多个单元组成的内存块;
右值引用
不能取地址的,没有名字的就是右值
匿名变量(临时变量)的别名
类型名 && 引用名 表达式
例子:
int && sum = 3 + 4;
float && res = ReturnRvalue(s1,s2);
右值引用的典型应用是在函数参数中,例如:
void AcceptRvalue(T&& s){}
目的:减少临时变量拷贝的开销