C++ Primer 初涉1 快速入门

这一章的目的是为让读者能够编译简单的C++程序。主要讲了基本输入输出、控制结构和类的一些简介。

简单的C++程序:

int main()
{
        return 0;
}
当然, 这个程序神马都没做, 只是返回一个值。不过它向我们展示了如何定义一个基本的函数:
return_type function_name(parameter list)
{
function_body
}
 
编译程序:
我用的linux, 所以
$ g++ –Wall prog1.cc –o prog1
运行程序
$ ./prog1
 
基本输入输出:
和C一样, C++本身不提供进行输入输出的任何语句,输入输出主要由标准库实现。
流: 流是指要从某种IO设备上读入或者写出的字符序列
基本输入输出对象 cin、cout、cerr、clog.
#include <iostream>
int main()
{
	std::out << "Enter two numbers:" << std::endl;
	int v1, v2;
	std::cin >> v1 >> v2; // Input two numbers to the cin stream
	std::cout << "The sum of " << v1 << " and " << v2
		  << " is " << v1 + v2 << std::endl;
	return 0;
}
std是一个命名空间的名称,就像一个班级一样。比如你在的班级是1班,你们班有个人叫张明,是校篮球中锋。
可是3班也有个人叫张明,他篮球也玩的很好,是校队控卫。这时候如果你们学校比赛,你们教练会对你说:
去吧那3班的张明叫来,让他控球。对,这个1班和3班就是一个命名空间,std也是的。而张明,还有你班上的
其他同学,都是这个班级的对象,每个对象完成一个特定的功能。比如3班的张明负责控球,而1班的张明负责
防守篮板等。同样的,std空间里面的对象cin, cout分别负责从读入流,把结果输出到流,endl的功能就像
我们按下一个回车键一样,会换行(当然还会把光标置于行首).
 
控制语句
while, for, if --和C一样, 不扯了。
读入未知数目的输入: 这里得用到一个概念叫文件结束符EOF(End Of File),你可以理解为你一直敲键盘,直到
不想继续输入了为止。windows下键入ctrl+z, 类unix中键入ctrl+d都可以实现文件结束符的输入。
while (std::cin >> value) // C++中的一般实现
while ( (c = getchar()) != EOF) // C中,如果把c定义成char,这个语句可能会很危险, 详见 
// 《c traps and pitfalls》
 
类--C++焦点
使用类时要注意:
1. 类名?
2. 类在哪里定义?
3. 类支持什么操作?
类(class), 从字面上理解,是一个一个分类,但是我们对自然的是怎么分类的呢?根据不同的标准,我们有不同分类,
比如我们要区别生物,那么我们可以分为动物类,植物类等等。动物就是生物的一个分类(动物细胞只有细胞膜,没有细胞壁)
类在哪里定义? 上面的类是在生物界定义,我们似乎无法将计算机归结为两者之中的任何一类。
类支持什么操作?动物大多会移动~~~ 植物一般不会大范围移动(好勉强的解释==!)
 
#inlcude <iostream>
#include "Sales_item.h" //这个就是我们所要用的类定义的地方啦
int main()
{
	Sales_item total, trans;
	if (std::cin >> total) {    // 一直输入直到遇见EOF或者无效的输入
		while (std::cin >> trans)
			if (total.same_isbn(trans))
				total = total + trans;
			else {
				std::cout << total << std::endl;
				total = trans;
			}
		std::cout << total << std::endl;
	} else {
		std::cout << "No data?!" << std::endl;
		return -1;
	}
	return 0;
}
 
重点概念: 
buffer 一段用来存放数据的存储区,由于外设设备速度远低于CPU,如果CPU一直监视外设设备的数据输入输出是个很浪费资源
     的事。于是就开辟了这么一个缓冲区,等到缓冲区满时一次性输入输出,这样就很省CPU资源了。就像你一般都要把把
     一张纸写满了再给老师看,而不是写一个字就给老师看看这个字写的对不对。当然,如果你写到一半,老师就想要看,
     这时候你就得把这张纸交上去给老师,然后再准备一张纸写。这个类似的过程在计算机中叫做刷新缓冲区,即把缓冲区
     的内容强制输出,并清空缓冲区。
built-in type 内置类型,是C++语言本身的一部分,如int, char等,而类就不是了。
流:
uninitialized variable 未初始化变量,初始化有直接初始化和复制初始化两种,第一种功能更为强大。
                         指针初始化? int *p = p;  ?
标准输入:和程序执行窗口相关联的输入流.windows下是command.exe, linux下是terminal
标准输出:和程序执行窗口相关联的输出流.windows下是command.exe, linux下是terminal

原文链接: https://www.cnblogs.com/NotGeek/archive/2011/08/27/2155831.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++ Primer 初涉1 快速入门

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/31284

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 上午8:31
下一篇 2023年2月8日 上午8:32

相关推荐