总结很重要啊。
看了几天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++学习中,C Primer是一本经典的入门书籍,C++11是该语言的一个重要版本,它引入了许多新的特性和改进,比如自动类型推导、智能指针、基于范围的for循环、lambda表达式等。Boost是一个C++库集合,包含了许多实用...
C++个人学习总结- 完善中 -不是很好,但还是拿出来分享一下
初学者怎样学习C++,方法,步骤,态度等,C++学习方法总结很详细!
自己总结的一点C++ MFC方向的学习知识点,以后还会不断地学习,总结
1. **基础语法**:C++的基础包括变量、数据类型(如int、float、char等)、运算符(如算术、比较、逻辑等)以及控制流程(如if-else、switch、for、while等)。学习时,应熟练掌握这些基本元素,并通过编写简单的...
在深入探讨C++学习的总结报告之前,我们首先理解C++是一种强大且广泛应用的编程语言,它具有面向对象、高效和可移植性等特性。实训是学习任何技能的关键环节,尤其是编程,因为理论与实践相结合能更好地巩固知识并...
以下是对C++学习的一些关键知识点的总结: 1. **基础知识**:C++起源于C语言,因此掌握C语言的基本语法,如变量、数据类型、运算符、流程控制语句(if-else, switch, for, while)以及函数的使用是学习C++的起点。 ...
通过学习《C++ Primer》,不仅可以掌握C++的基本语法和编程技巧,还能理解面向对象编程的核心思想,为后续深入学习C++标准库、STL、设计模式以及并发编程等高级主题打下坚实基础。对于希望从事IT行业的程序员来说,...
#### 三、代码优化总结 通过对 C++98 和 C++11 两个版本的代码进行对比分析,我们可以看到 C++11 在代码结构、资源管理和异常处理方面带来了显著的改进。这些改进不仅让代码更加简洁和易懂,还提高了程序的稳定性和...
这份"C++学习总结"是为面试准备的,旨在帮助你掌握核心概念并能应对面试中的各种问题。下面我们将深入探讨C++的一些关键知识点。 1. **基础语法**:C++的基础包括变量、数据类型(如int、float、char)、运算符(如...
C++是一种支持多种编程范式的高级编程语言,包括过程化、面向对象和泛型编程。从给出的文件内容中,我们可以总结出...学习C++不仅需要掌握语法,更要理解面向对象编程的思想和原则,以便有效地利用C++进行软件开发。
本篇总结主要讨论了C++课程设计的重要性和学习体验。通过学习《C++程序设计》,作者学习到了基本的理论知识,了解到了C++语言程序设计的思想,并具备初步的独立分析和设计能力。作者还强调了数据结构的重要性,它是...
### C++基础知识总结 ...这些基础知识对于理解 C++ 程序设计至关重要,也是进一步学习面向对象编程的基础。接下来的部分将更深入地探讨 C++ 中的高级特性,如数组、字符串、控制结构、函数、类和对象等。
这份资源集成了C++学习的多个重要方面,包括基础概念、高级特性、面试常见问题以及内存管理等,非常适合对C++感兴趣或者准备面试的人士进行深入学习。 1. **C++语言概述**:C++是在C语言的基础上发展起来的,它引入...
根据题目描述中的“经典,适合初学者,从例程出发,一步步让学习者进入状态”,这里推荐一些优质的Visual C++学习资源: 1. **官方文档**:微软官方提供的Visual C++文档是非常全面的学习资源,涵盖了从基础知识到...