哎呀,总算开始学习c++,这是我第二次看C++ Primer Plus了,之前没有写笔记。真是验证了好记性不如烂笔头,这不,后面都要给自己整一出。
目录
要建造简单的房屋,首先要打地基、搭框架。
c++对大小写是敏感的!例如,你要输出点东西瞅一哈,用啥?cout ?Cout 保证后面那个会报错。人家不认识你大写的什么鬼。
先认识一哈写个程序都有的套路:
注释 //
预处理器编译指令 #include
函数头 int main()
编译指令 using namespace
函数体 {}
显示消息神器 cout
预处理器是以#开头的编译指令。它的作用是源代码被编译之前,替换或者添加文件。如#include <iostream>。像输入输出显示cout就需要#include <iostream>。
敲黑板:很多经典C函数头是这样的;main(),C语言省略返回类型其实就是说函数的类型是int。但是c++把它淘汰了。必须用 int main(),也可以使用 int main(void),因为c++中括号里没有东东就认为是void类型,c在这种情况下对是否接受参数保持沉默。但是,这样就要求c++的main函数最后一定要有个返回语句,c++标准也头大了,就允许main函数没有返回的时候默认有return 0;
main函数是必须的,有时候微软VS会整出一个_tmain()这种非标准函数,其实这种情况下有一个隐藏着的main()调用_tmain。需要强调的是,如果没有返回值,C++也必须指明返回void类型。
头文件名又咋啦
以前的老版本都是用.h结尾,现在新版本c的头文件就用cmath等带有c前缀的方式。如果是c++的头文件直接不要后缀就可以了,例如上面的iostream。有了头文件,里面肯定就带有干货,是他就是他-->名称空间。这个名称空间就好比java的某个包或则c#的命名空间。这样就可以捞到好处了,看:
using namespace std;
cout << "C++ Notes";
而不必写成一大坨的: std::cout << "C++ Notes";
大型项目的时候,也常常只引入名称空间中用到的名称,例如写成: using std::cin;
cout就是预定义的一个对象,符号指出了信息流动的路径。插入符号(<<)和按位左移运算符(<<)是一样的,这就是面向对象的重载特性。相同情况的还有&符号:地址运算符和AND运算符;*:乘法运算,指针解除引用。
学会了cout输出,总得拿出来炫耀一下吧。就输出一个换行吧,会不?
cout << endl; //endl 和 cout一样都是在std名称空间里面的名称
cout << "\n";
OK,打怪升级一小步,成功一大步!