Chapter 2 开始学习C++

2018-03-15  本文已影响0人  MomToldYouSo

写前按

最近因为要做一些CV的问题,接触到了很多开源的基于C++的很多包和已有工具,虽然C++在大一入门时是正式学习的第一门语言,但是经过太长时间的生疏,写的时候已经不太自信。并且第一次学习时没有用标准Primer,很多STL之类的用法并没有很熟练,担心在随后的实习和工作中出现临时抱佛脚的情况,所以下定决心花大概一个月的时间过一遍C++ Primer,同时记一些笔记用来监督进度。

Chapter 2 开始学习C++

进入C++

函数头

int main() // no input arguments, return a int value
main() // original C style
int main(void) // no input arguments,与1相同,只不过明确指出了
void main() // 不返回任何值,有些系统上不能这样用,所以1,3是标准的

Windows上主程序入口可以不是main,是因为Win上的编程环境中会产生一个隐藏的main。

预处理器和iostream文件

#include <iostream> // 预处理器将iostream中的文本添加到编译过程中

名称空间

管理多个项目时,命名为shitout()的函数有不同的实现,则在使用A项目中的函数时,应该调用的是A::shitout(),B中函数时应为B::shitout()

using namespace std; // 使得std名称空间内的所有名称都可以用, LAZY WAY!
using std::cout; // Only cout available
using std::endl; // Only endl available

只有用了<iostream>而不是<iostream.h>才可以用namespace std。

输出流cout

cout << "Shit out!"; // cout利用<<把字符串插入到了输出流

同时<<也是左移运算符的函数重载。

cout输出中不会自动加空格,如:

cout << "The Shit, the"; // 'the'后没有空格
cout << "Bull, ";
cout << "and the Ass";
cout << endl;
// 输出为 The Shit, theBull, and the Ass
// 注意两个cout之间没有空格,同时不会自动换行

cout << "\n";
cout << endl;
// 两句基本一致,除了有的环境下'\n'可能会让当前输出停止,只有在重新输入后才会继续输出

cin.get(); // 程序暂停于此处,可以读取输入,直到按Enter键

函数

使用内置数学函数时,应该注意应用头文件<cmath>,当然也可以用老式的也可以用在C里的<math.h>。

double pow(double, double); // 两个参数的函数
int rand(void); // 没有参数的函数
myGuess = rand(); // 调用上面的的无参数函数
void bucks(double); // 无返回值的函数

函数内不允许嵌套定义

int ShitHole(int n){
  using namespace std; // 只在这个函数内用std
  // ...
  return 0;
}
上一篇下一篇

猜你喜欢

热点阅读