C++语法学习笔记二: 命名空间简介、基本输入输出

实例代码:


#include <iostream>
using namespace std;


namespace zhangsan {   //定义个命名空间  zhangsan
	void func() {
		cout << "张三的func函数" << endl;
	}
}

namespace lisi {  //定义个命名空间  lisi
	void func() {
		cout << "李四的func函数" << endl;
	}
}

namespace lisi {  //相当于打开已经存在的命名空间并为其添加新的成员
	void func1() {
		cout << "李四的func1函数" << endl;
	}
}

int main() {


	//一: 命名空间概念简介
	//命名空间 就是为了防止名字冲突而引入的一种机制。系统中可以定义多个命名空间,每个命名空间都有自己的名字,不可以同名;
	//大家就可以把这个命名空间看成一个作用域,我们在这个命名空间里定义函数,跟另一个命名空间里定义的函数,即便同名,也互不影响。
	//(1). 命名空间的定义:
	//namespace 命名空间名{
	//  .....
	//}
	//(2). 命名空间的定义可以不连续,甚至可以写在多个文件中,如果你以往没有定义这个命名空间,那么“namespace 命名空间名”这种写法就相当于顶一个了
	//一个命名空间,如果以往你已经定义了这个命名空间,那么“namespace 命名空间名”这种写法 就相当于打开已经存在的命名空间并为其添加新成员的声明;

	//(3). 外界如何访问 某个命名空间中的func()函数呢?
	//格式: 命名空间名::实体名            ------- 其中“::”叫“作用域运算符”
	zhangsan::func();  //输出 张三的func函数
	lisi::func();  //输出 李四的func函数

	//二:基本输入 输出cin、cout
	//iostream 库(输入输出流):流就是一个字符序列。
	std::cout << "这是一条语句" << endl;
	//(1) std:: 命名空间,标准库命名空间
	//(2) cout, 发音 c out(console output) 是个对象
	//(3) << : "输出" 运算符。直接扎到cout去了,就表示将 << 右边的值写到 cout去了;
		//<< :可以当成函数,有参数。第一个参数在左边,就是cout对象。"这是一条语句"当成 << 的第二个参数,在 << 右边

	int x = 3;
	std::cout << x << "的平方是" << x*x << std::endl;
	x++;
	std::cout << x << "的平方是" << x*x << std::endl;

	//(4) \n: 换行符,
	//(5) std::endl: 是个模板函数名,相当于函数指针,建议暂时理解成函数;std::endl一般都位于std::cout语句的末尾。
	// 作用 : 
	//		(1) 输出换行符\n
	//		(2) 强制刷新 输出缓冲区,缓冲区中所有数据 都被系统清除了。(输出缓冲区:一段内存,cout 输出的时候实际是往输出缓冲区输出内容)
	// 输出缓冲区什么时候把内容输出到屏幕去的呢?
	//  a> 缓冲区满了
	//  b> 程序执行到main的return语句
	//  c> 调用了这个std::endl,能够强制刷新输出缓冲区(把缓冲区的内容往屏幕上写)
	//  d> 当系统不太繁忙的时候,系统也会查看缓冲区内容,发现新内容也会正常输出到屏幕

	//ostream &std::cout.operator<<(); // << 定义 , << 返回的是一个写入了给定值的cout对象
	//  std::cout << "这是一条语句" << endl; //返回的是cout对象

	//(6) std::cin 基本输入
	//(7) cin: (c in), 这也是个对象,叫标准输入。

	std::cout << "请输入两个数:" << std::endl;
	int value1 = 0, value2 = 0;
	std::cin >> value1 >> value2;
	std::cout << value1 << "和" << value2 << "相加的结果为:" << value1 + value2 << std::endl;
	//(8) cin也是一个iostream相关对象,叫“标准输入”。大家就理解成键盘
	//(9) >> 是一个“输入”运算符。 返回其左侧运算对象作为其计算结果。
	//(10) 本质上“>>” "<<" 在ostream 类中进行了运算符重载  “cout” 和“cin”是ostream 类的对象

	system("pause");
	return 0;
}
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值