c++ 什么时候应该Include cpp文件
.h是 头文件
.cpp 是源文件
c++中。通常 将
struct class #define typedef function 等的定义放到头文件中
而将 成员声明 和 function实现 类实现 放入cpp中
h和cpp中同时可以使用include包含头文件,但是我们通常 有这个习惯
也就是尽量不要在。h中include非必须的其他。h
也就是说
当.h中的 定义 内容 用到了T* t那么我们 没有必要 #include "t.h"之需要在。h中 class T;声明一下 即可。
当 。h中用到了T t;也就是 非指针时,此时可以在.h中 include "t.h"
以上均是书写规范问题。当然所有的.h都include进来也不会编译错。
至于为什么有这个书写规范 就需要 你再仔细理解 一下c++接口设计了。也就是说 如果你的。h作为一个模块给别人使用时 没有必要 把 没有用的。h同时提供给别人。
至于编译速度的话 ide有优化的。你没有用到的东西他不会编译进去的。
.h是 头文件
.cpp 是源文件
c++中。通常 将struct class #define typedef function 等的定义放到头文件中,
而将 成员声明 和 function实现 类实现 放入cpp中。
h和cpp中同时可以使用include包含头文件,但是通常有个习惯,就是尽量不要在.h文件中include非必须的其他.h文件。
也就是说,当.h中的内容(各种声明)用到了T* t那么我们 没有必要 #include "t.h",只需要在。h中 class T;声明一下即可。
当 .h中用到了T t;也就是 非指针时,此时可以在.h中 include "t.h"。
至于其他的方法函数内需要用到的头文件,当然都是在cpp文件中声明了。
模板的实现文件应该命名为 XXX.tcc 或者 XXX.inl , .tcc 或者 .inl 都表示这个文件不是真正的头文件(这个文件用于存放模板函数或inline函数的定义,tcc中的 t 代表 template, inl 是 inline 的缩写),但是需要#include
不能够include任何cpp文件
应该不需要这样做。
VC++2005
VC++2005开始支持标准C++,所以#include <iostream.h>通不过编译,只可以用 include <iostream> using namespace std; 其实标准C++里规定的就是用名空间的 呵呵
C++中<>与" "的区别
include<iostream> using namespace std;是新的C++标准,cout和cin是在命名空间std中定义的,要用所以要加命名空间。你不用using namespace std用std::cout,std::cin也可以。include<iostream.h>为什么效果一样,是编译器原因,用的VC++6.0吧,用VC++2005应该有编译错,VC++2005支持的C++还比较标...
在VC++中头文件中的.h和.cp有着什么样的联系.(.h和.cpp前同名)_百度知...
.h叫做头文件,它是不能被编译的。“#include”叫做编译预处理指令,可以简单理解成,在1.cpp中的#include"1.h"指令把1.h中的代码在编译前添加到了1.cpp的头部。每个.cpp文件会被编译,生成一个.obj文件,然后所有的.obj文件链接起来你的可执行程序就算生成了。发现了没有,你要在.h文件中严格...
为什么有的c语言程序开头有两行#include <stdio.h>?
我们知道C\/C++是不允许重复定义的,如果重复#include <stdio.h>、拷贝两次,会不会导致重复定义呢?答案是不会,因为标准库中每个头文件都有防止重复拷贝的机制,所以即便开头有两行#include <stdio.h>,实质上只拷贝了一次。怎么做到防止重复拷贝?有两种方式:一是使用#pragma once,但这种不是C\/C...
在vc++中编程时 居然提示我说#include <stdio.h>这句有错 不能识别还是...
这个错误是说,不能打开stdio.h这个文件。出现这个错误的原因,多数是你的包含文件路径设置不正确。开发环境找不到它。
c语言逗号运算符优先级问题:先执行++?
把结果9赋值给d,所以得到d是9;②第二个表达式e++,刚才分析过了,这个后自增最后执行,此时什么也不会做 ;③e+9=0+9=9,这仅仅是做了一个加法,而且得数(9)都没有保留!最后,e再自增为1。所以,输出的结果是:d为9,e为1。有什么问题请留言。
a[i++]=i;怎么理解,C语言的。
例如:include "stdio.h"void main(){ int i=1;int a;a=(i++)*(i++)*(i++)*(i++)*(i++)*(i++);printf("%d",a);} 这个程序 不管你有多少个i++ 计算结果都是 1 第二点:优先级高的 先运算 例如:include "stdio.h"void main(){ int i=1;int a;a=i*(++i);printf...
!x++是怎么个运算顺序
++在变量后面,先使用变量后自增 !x++ 等价于 !x; x=x+1;所以 !x++; 的结果是 1, 输出的x也是1 include<stdio.h> int main(){ int x = 0;printf( "!x++ : %d,x:%d\\n", !x++, x);return 0;} 结果:
php中require和include的区别
唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。这两个语句应该用于在脚本执行期间,同一个文件有可能被包括超过一次的情况下,确保它只被包括一次,以避免函数重定义以及变量重新赋值等问题。2、详情 2.1 报错 include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码。requ...
c++标准库头文件在哪个目录下
C++标准库头文件,不同的编译器默认路径不相同。Vc6.0一般在安装目录下的\\VC98\\INCLUDE目录,比如C:\\Program Files (x86)\\Microsoft Visual Studio\\VC98\\INCLUDE。Vs一般在位于$VSPATH\\VC\\include路径下面。gcc一般默认在 \/usr\/include目录下。C++这个词在中国大陆的程序员圈子中通常被读做“C加加...