C++笔记

1.内置函数inline,编译时将所调用的函数代码直接嵌入到主调函数中。可以减少运行时间,却增加目标程序的长度,因此,内置函数中不能包括复杂的控制语句(循环、switch、递归、if嵌套等)。
2.函数重载overload
函数名相同,但形参的个数、类型、顺序不同。
3.函数模板
template <class T> 或 template <typename T>

例如:
template <class T>
T max(T a, T b, T c)
{
    if(a<b)
    {
        a=b;
    }
    if(a<c)
    {
        a=c;
    }

    return a;
}

4.输出7位小数
float x=1.1111111111111111111;
cout<<setiosflags(ios::fixed)<<setprecision(7);
cout<<x<<endl;

5.自动变量(指一般的变量)
auto int a=3;或int a=3;
函数调用结束时自动释放这些空间。

6.静态变量
static int a=3;
函数调用结束时保留其空间,下一次调用时开始其值为上一次调用结束时的值。

7.寄存器变量(无用)
register int i=1;
适用于使用频繁(如执行10000次循环)的变量。但程序中定义寄存器变量只是建议性(非强制性的)。当今的系统能自动识别一些使用频繁的变量,因此用register几乎没有用到。

8.外部变量
8.1单文件时,可以提前声明
void main()
{
  extern int a,b;
  cout<<max(a,b);
}

int a=1,b=2;
int max(int x,int y)
{
  ......
}

8.2多文件时
注意:若全局变量加上static,则不能被外部文件所引用。
file1.cpp
extern int g_nA,g_nB;
void main()
{
  cout<<a<<b;
}


file2.cpp
int g_nA=3,g_nB=4;//全局变量
....

9.内部函数(或静态函数)
只作用于当前文件
static int fun(int a)

10.外部函数
extern int fun(int a)注:可以省略extern

11.条件编译
11.1
#ifdef 标识符
  程序段
#else
  程序段
#endif
11.2
#if 表达式
  程序段
#else
  程序段
#endif

12 类
12.1用C++开发的时候,用来做基类的类的析构函数一般都是虚函数





原文地址:https://www.cnblogs.com/tuzhiye/p/1547876.html