总结很重要啊。
看了几天C++了,总结下基础的东西。
先说说预编译(写个hello world给我整崩溃了):
C++在编译的时候会读#define和#include,然后做相应的替换。
如果头文件太大,被太多文件include的话,编译就很慢了,也没必要include一次就编译一次。
所以就整了个预编译技术:在我们创建工程的时候自动会生成stdafx.h,这个文件一般包含一些头文件,这些被包含的文件基本上不会怎么修改,所以我们只需要把stdafx.h文件编译一下,生成一个预编译头文件.pch;编译器会在编译.cpp文件时,将这个预编译头文件加入其中;所以如果我们自己写的.cpp文件没有#include "stdafx.h" 第一行就会出现编译出错。
.h文件是不能编译的,所以会生成一个stdafx.cpp的空文件,这个文件只有一句#include "stdafx.h",这个文件的目的就是为了编译stdafx.h文件。
同样,如果我们没有先编译stdafx.h,而是先编译我们自己写的.cpp文件就会出现找不到.pch文件。
再说说命名空间:
这命名空间也没撒特别,想成一个作用域就ok了。
这个命名空间给我整得也郁闷,最开始写
#include <iostream>
想使用cout,但是就是不能用,一查资料才发现这是标准化后需要命名空间的支持。
我就纳闷了标准库中的东西,既然是标准,为什么就不整个全局命名空间嘛。还要显示的使用std空间名称。
宏
宏,我个人理解就是把复杂的或者不容易理解的东西重新定义一个名称吧了,当然也有其他功能;如#pragma.
宏的替换和inline区别是:inline替换否由编译器决定。
替换就是空间换时间。
sizeof
这个就是看一个类型分配的空间大小。如 sizeof(int) //4
有几个特殊情况sizeof(1==1) //1 或者 4(VC6) 这个有点蛋疼,我想了大半天(还是不懂)。
struct s{
char c;
int i;
};
sizeof(s) //8 (本来是5,但是结果应该是i(4)的倍数)
struct s1{
char c;
s ss;
char c1;
};
sizeof(s1) //16 (1+3 + 4 + 1+3,位界是按s中最大的来算)
如果struct中有double,float就又不一样。一般放在开头或者结尾,占得空间最小。
//第一课结束。路过的朋友指正哈
分享到:
相关推荐
很好的c++学习总结(C++学习忠告、类的使用、类与内存分配。。。。。。)
对C Primer 、C++11 、Boost、C++对象模型、Modern Design和Poco库等的学习总结
c++学习总结,在学习c++时做的一些笔记
C++学习经验总结,C++学习经验总结C++学习经验总结C++学习经验总结
C++个人学习总结- 完善中 -不是很好,但还是拿出来分享一下
初学者怎样学习C++,方法,步骤,态度等,C++学习方法总结很详细!
C++实训总结C++实训总结C++实训总结C++实训总结C++实训总结C++实训总结C++实训总结C++实训总结C++实训总结C++实训总结C++实训总结C++实训总结
C++11学习总结.doc
自己总结的一点C++ MFC方向的学习知识点,以后还会不断地学习,总结
C++学习总结(完全可以应付面试),下载看看吧!网络收集
C++相关学习笔记,这是我自己的一些个人总结,是学习C++的好帮手,要学习的请抓紧下载了,加油哦,奥力给!互联网,IT行业必备
C++学习总结.docx
Effective C++学习总结,关于如何优化C++编程效率。
c++学习总结.pdf
C++学习总结.pdf
c++特性11 学习 总结文档,对特性查询很有帮助,欢迎下载
C++学习总结
《林锐 - 高质量C C++编程指南》学习总结
C和C++语言学习总结.doc,还是那句话,值得信赖!!!
C++学习总结的知识.pdf