#pragma once 应该放在头文件的什么位置?

snprintf 2008-11-21 02:39:02
// here?

#include "headerfile.h"

// or here?

class AAA
{
};

// 放在哪里好呢?为什么?
...全文
1061 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackzhhuang 2008-11-23
  • 打赏
  • 举报
回复
一般放在开头,能不能放在别的地方,我想可以做这样一个实验:


#pragma message("include it\n")

#pragma once


如果放到哪里都可以,"include it\n"只会显示一次

如果必须放第一行,那么头文件按包含多少次"include it\n"就会显示多少次
deerwin1986 2008-11-22
  • 打赏
  • 举报
回复
是放在开头的 去看下库文件
Big鹏 2008-11-22
  • 打赏
  • 举报
回复

标准放开头!!
deyangcai 2008-11-21
  • 打赏
  • 举报
回复
一般情况下,放在开头更好一些,这样看着条理更清晰
rularys 2008-11-21
  • 打赏
  • 举报
回复

C/C++ Preprocessor Reference

#pragma once
Specifies that the file will be included (opened) only once by the compiler in a build. This can reduce build times as the compiler will not open and read the file after the first #include of the module.

For example,

// header.h
#pragma once
....
Non_Recursive 2008-11-21
  • 打赏
  • 举报
回复
放开头,习惯...呵呵
GJchina 2008-11-21
  • 打赏
  • 举报
回复
我一般放开头。我觉得这种比#ifndef的形式好,因为不用再考虑重名的问题了。也不知道对不对。期待高手
就呆在云上 2008-11-21
  • 打赏
  • 举报
回复
想放哪就哪里
rularys 2008-11-21
  • 打赏
  • 举报
回复
不要放在文件末尾;如果编译出错,你把它提前;还出错,那么还提前~其实你应该知道它是干什么的
gccdy 2008-11-21
  • 打赏
  • 举报
回复


#ifndef HAND_H_
#define HAND_H_

//do something

#endif

用这个好点

hai040 2008-11-21
  • 打赏
  • 举报
回复
随便

65,176

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧