#include "pch.h"
#include <iostream>
namespace zhangsan
{
}
void func(int &a, int &b)//参数为引用类型,可以改变外部的值
{
a = 5;
b = 6;
}
using namespace std;
int main()
{
int x=9;
std::cout << "Hello World!\n";
std::cout << x << "的平方是" << x * x << std::endl;
int a, b;
std::cin >> a >> b;
std::cout << a << "和" << b << "相加的结果为" << a + b << std::endl;
int abc{ 5 };//定义时初始化,等价于abc=5;
cout << abc << endl;
int aa[]{ 1,2,3 };//定义数组并初始化,这里可以不用等号
//头文件防卫试声明,用#ifndef,#define,#endif
//引用
//理解成为变量起另一个名字,起别名后,两者一样,但不完全一样,看后边的常量部分
//例如:
int value = 10;
int &refval = value;//refval就是别名,&在这里是引用符
int a = 10, b = 11;
cout << a << endl;
cout << b << endl;
func(a, b);
cout << a << endl;
cout << b << endl;
//结果是:10 11 5 6
//常量
//const,常量关键字
//const int var1 = 10;//表示这个变量的值我不会改变
int &var2 = (int &)var1;//不要这样做
var2 = 18;
cout << var1 << endl;//10
cout << var2<< endl;//18
/*constexpr 关键字,也是常量的概念,在编译的时候求值,提高性能*/
constexpr int val = 0;//定义的时候必须初始化。
return 0;//返回值在windows下没什么作用,在linux下有用
}
//std::endl作用:输出换行符,强制刷新输出缓冲区(把输出缓冲区中的内容写到屏幕),缓冲区的数据都被系统清除了
//输出缓冲区:一段内存,cout输出的实际是输出缓冲区的内容。