学会思考
刻意练习

使用头文件,分离声明与定义

防止重复包含:

#ifndef FUNC_H

#define FUNC_H

....

#endif

 

 main函数的命令行参数:

#include <iostream>
#include <cstdio> //atoi()

int main(int argc, char** argv)
{
    if (argc != 3)
    {
        std::cout << "usage:" << argv[0] << "op1 op2 " << std::endl;
        return 1;
    }
    int a, b;
    //std::cin >> a >> b >> c;
    a = atoi(argv[1]);
    b = atoi(argv[2]);
    std::cout << a + b << std::endl;
    return 0;
}

变量定义:

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){}

目的:减少临时变量拷贝的开销

 

posted on 2017-03-26 00:37  Worty  阅读(292)  评论(0编辑  收藏  举报