新建C++的工程
1
新建项目,控制台应用程序
勾选空项目, 勾去安全周期检查
2
源文件 –> 新建项
3
添加main.cpp
4
选择性编译
1 2 3 4 5 6 7 8 9
   | #if 0 #include <stdio.h>
  int main() { 	printf("Hello World"); 	 	return 0; } #endif
   | 
 
命名空间 (namespace)
在同样的作用域下不能定义多个同名变量或者函数
所以可以使用命名空间来解决这个问题
命名空间可以嵌套
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
   | #include <iostream> using namespace std;
  namespace yf { 	int a = 12; }
  namespace fy { 	int a = 1; 	namespace ffy{ 		int a = 11; 	} }
  int main() { 	cout << fy::a << endl; 	cout << yf::a << endl; 	cout << fy::ffy::a << endl; 	using fy::ffy::a; 	cout << a << endl; 	getchar(); 	return 0;
   | 
 
运行结果:
1563440056471
使用namespace的三种方式
1 2 3
   | using namespace std; fy::ffy::a using fy::ffy::a;
   | 
 
匿名联合
联合: 几个变量公用一块内存
1 2 3 4 5 6
   | union { 	char ch; 	int tt; }; tt = 65; cout << ch << endl;
  | 
 
运行结果:
1563440146027
枚举
可以一次性生成一系列的递增的值,如果没有复制的话,后面一个总是比前面一个多1
用处
可以在for循环里面枚举
可以表示多个同一个类型的数据
1 2 3 4 5 6 7
   | enum Color { Red, Yellow, Blue, White, Black }; 	 Color ball1; ball1 = Yellow; for (int i = Red; i <= Black; i++) { 	if (i == ball1) cout << i << endl;	 }
  | 
 
内联
函数前面加 inline.
可以加快简单函数的执行速度
1 2 3
   | inline int Max(int a, int b) { 	return a > b ? a : b; }
  | 
 
重载
同一作用域,函数名相同,参数表不同的函数构成重载
1 2 3
   | void func(int a, int b); void func(int a); void func();
   | 
 
默认参数,哑元
定义默认参数,必须从右边开始设置
1
   | void func(int a, int b, int c = 3, int d = 4);
   | 
 
哑元用于兼容老版本的函数
1
   | void func(int, int b, int);
   | 
 
调用的时候都是可以些3个参数
引用
引用是变量的别名
加在函数前面就可以写左值了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
   |  #include <iostream> using namespace std;
  int& func(int a,int& b) { 	a++; 	b++; 	return b; }
  int main() { 	int fy = 2, yf = 22; 	func(yf,fy) = 4; 	cout << fy << endl << yf;  	getchar(); 	return 0; }
 
  | 
 
动态分配内存
记得写删除内存的语句
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
   |  int* p = (int*)malloc(sizeof(int)); *p = 4; cout << *p << endl; free(p); p = NULL;
 
  int* p2 = new int; int* p3 = new int(300); *p2 = 123; cout << *p2 << endl; cout << *p3 << endl; delete p2; delete p3; p3 = NULL; p2 = NULL;
 
  int* p4 = new int[4]{1, 3, 5, 7}; for (int i = 0; i < 4; i++) { 	 	cout << p4[i] << " "; } delete[] p4; p4 = NULL;
 
  |