C++ primer学习笔记——第一章 开始

C++ primer学习笔记

标签(空格分隔): 未分类


《C++标准程序库》、《Effective C++》
《C++ Primer》源代码网站:http://www.informit.com/title/0321714113
- 中文版答案详解,比较好的仓库:https://github.com/jieniyimiao/CppPrimer
- https://github.com/pezy/CppPrimer 原大神的仓库
g++编译C++程序,gcc编译c程序,使用C++11标准,-std=c++11
g++ -std=c++11 main.cpp

函数定义:返回类型、函数名、形参列表、函数体。
先用命令行界面学习C++,会将精力集中于C++语言本身,而不是一些开发工具上。

1.1.1编译、运行程序

  • 编辑器:GNU(GNU is not Unix)的编译命令是g++
  • 微软Visual Studio编译器

Linux上编译C++程序:g++ -std=c++11 main.cpp
Windows visual studio2015使用命令行:https://www.cnblogs.com/yang666/p/6512550.html
安装文件夹位置:C:\Program Files\community 2015
C:\Program Files\community 2015\VC\bin 文件下有编译和链接时所需要的工具
cl.exe—编译程序
link.exe—链接程序
nmake.exe—用makefile进行构建、编译的程序

先进入cpp文件所在目录,然后用 cl Hello.cpp /EHsc 命令编译.(cl后面字符的是小写L不是数字1)

//失败了!!!
cd G:\C++ Primer\MyCode\chap1_start\chap1_start
cl main.cpp /EHsc

还是尝试使用命令行参数就可以了!

右击所在项目->属性->配置属性->调试->命令参数

1.2 初识输入输出

  • iostream库。C++标准库提供IO机制。iostream库包含两个基础类型:istream输入流,ostream输出流。
  • 流:随着时间的推移,字符是顺序生成或消耗的。
  • 标准输入输出对象
    标准库定义了4个IO对象
    标准输入cin—-是istream类型的对象。
    标准输出cout—是ostream类型的对象
    标准错误cerr—ostream类型的对象,输出警告和错误信息
    clog—ostream类型的对象,输出程序运行时的一般性信息。
  • 向流写入数据
    <<是输出运算符,在标准输出上打印消息,<<需要两个运算对象,左侧必须是一个ostream对象,右侧是要打印的值。将给定的值写入给定的ostream对象中。

    std::cout << “Hello Wolrd!” << std::endl;

使用两次<<,因为此运算符返回其左侧的运算对象
"hello world"字符串字面值常量
endl操纵符——作用:结束当前行,并将于设备关联的缓冲区(buffer)中的内容刷到设备中
缓冲刷新操作保证所有输出流都真正写入输出流中,而不是留在内存中等待写入流。

  • 命名空间:避免名字定义冲突。标准库定义的所有名字都在命名空间std中。
    使用命名空间的副作用:使用作用域运算符来指定我们想使用的是哪一个名字。
  • 输入运算符>>,左侧为istream类型的对象,从给定的istream读入数据,并存入给定对象中
  • 输出为不同类型的值:std::cout<<v1<<"+"<<v2<<"="<<v1+v2<<endl; 既有字符串又有整型。
    因为标准库定义了不同版本的输入输出运算符,来处理这些不同类型的运算对象。

1.4控制流-while,for,if

  • for与while的优缺点:for的循环变量的初始化和修改都在语句头,形式简洁,适合循环次数已知,while适合循环次数未知,用某一条件控制循环,循环变量初始化在while之间,修改在while语句中。
  • 读取数量不定的输入数据
    while(std::cin >> value) sum += value;
    当我们使用一个istream对象作为条件时,其效果是检测流的状态。若流式有效的,检测成功;当遇到文件结束符,或遇到一个无效输入,istream的对象无效。
    键盘敲入文件结束符:windows系统—-Ctrl+Z, 然后按enter/return。 Unix:Ctrl+D

1.5 类简介

类–定义一个自己的数据结构

  • 文件重定向:允许我们将标准输入和标准输出与命名文件关联起来

习题1.20

环境:VS2015,命令行参数

这里写图片描述
点运算符–只能用于类类型的对象,只能是类的对象才能使用。用来调用成员函数。

剩下的习题都可以在大神的仓库中找到。

猜你喜欢

转载自blog.csdn.net/haronchou/article/details/81636156