std:: /前置声明/ #pragma once
来源:互联网 发布:手机淘宝卖东西怎么弄 编辑:程序博客网 时间:2024/06/05 04:50
总结
如果我们对全局作用域内的东西不加 std:: 的话,在很复杂的类内可能用类外的报错
在写模板的时候,即使包括了其他头文件,如果不写前置声明的话,也是会报错的,可能报错看不懂很玄幻。
#pragma once / #ifndef _头文件名 #endif ,都是可以只让该头文件包含一次,这个很重要,可能在复杂的工程里,俩个头文件互相包含,结果导致重复展开,导致类的重定义,从而导致报错,如果是模板类,可能报错很玄幻,你看不懂。
#pragma once 可以让声明的头文件只包含一次,而 #ifndef #define _xxx #endif 这个防止包含头文件的方法,这个有个坑,如果其他头文件定义了相同的#define 后的这个宏名字,导致该头文件不会展开,导致有坑。
阅读全文
0 0
- std:: /前置声明/ #pragma once
- std::vector的前置声明
- 当std::ref遇到前置声明
- #pragma once
- pragma once
- #pragma once
- #pragma once
- #pragma once
- pragma once
- #pragma once
- #pragma once
- #pragma once
- #pragma once
- #pragma once
- #pragma once
- #pragma once
- #pragma once
- #pragma once
- 代码练习
- Qt一些鲜为人知的小功能
- Django 快速搭建博客 第六节
- 数据结构实验之二叉树一:树的同构
- 1025. 反转链表 (25)
- std:: /前置声明/ #pragma once
- hdu 1166
- CS231n学习笔记--Assignment2/3
- String,StringBuffer与StringBuilder
- 1026. 程序运行时间(15)
- Handler初体验(一)——下载文件并更新进度条
- Android ANR
- 1027. 打印沙漏(20)
- mysql5.7解压版安装