标签:tracking prim err title 头文件 art 语言 保护 定义
C++的水比較深,之前我一直以为C++的全局变量会像其它语言一样,很easy仅仅要在头文件里,定义一个变量就可以,比方以下的test.h:
#ifndef _TEST_H #define _TEST_H int a = 10; #endif
又拿起《C++ Primer》看了下。发现正确的应该这么写:
test.h
#ifndef _TEST_H #define _TEST_H extern int a; #endif
#include "test.h" int a = 10;
extern int a = 10;//初始化了值,是定义 double b; //没有extern关键词,是定义
对于头文件不应该包括定义这一规则。有3个例外。
头文件能够定义类,值在编译时就已知道的const对象和inline函数。
标签:tracking prim err title 头文件 art 语言 保护 定义
原文地址:http://www.cnblogs.com/wzjhoutai/p/7039521.html