为了账号安全,请及时绑定邮箱和手机立即绑定

关于#ifndef等自己写代码时碰到提示class重定义的问题。后来解决了,不过还是有写不懂的

#ifndef和

 pragma once 

的区别是什么啊,分别都怎么使用呢,谢谢啦

如果可以的话,还想知道头文件和.cpp文件直接包含的一些习惯设置。(关于良好程序风格上的)。谢谢啦

56d80ba400010a1005000332.jpg

56d80ba500018dd505000308.jpg


正在回答

1 回答

//感谢百度,原链接http://zhidao.baidu.com/question/307465936.html?qbl=relate_question_0&word=%23ifndef%BA%CD%20%20pragma%20once

一般用于头文件开始,预编译时,只插入一次此头文件。
例如 头文件  "grandfather.h"
#pragma once
#ifndef GRANDFATHER_H
#define GRANDFATHER_H
struct foo
{
   int member;
};
#endif /* GRANDFATHER_H */

当这段程序多次被include ( 多文件编译,相互include时会遇到),只插入和编译一次。
#pragma once  的编译速度 比 #ifndef GRANDFATHER_H  #define GRANDFATHER_H ..快,
所以往往 全用。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(下)
  • 参与学习       70919    人
  • 解答问题       514    个

封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通

进入课程

关于#ifndef等自己写代码时碰到提示class重定义的问题。后来解决了,不过还是有写不懂的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信