得到了第三种声明全局变量的方法:使用extern PACKAGE关键字,如下,输出一个全局变量:
//-----------------------------Globals.cpp-----------------------------------
#pragma hdrstop
#include "Globals.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
//---------------------------------------------------------------------------
AnsiString UserName = "YinJiajun";
//---------------------------------------------------------------------------
//-----------------------------Globals.h-------------------------------------
#ifndef GlobalsH
#define GlobalsH
//---------------------------------------------------------------------------
#include <Classes.hpp>
//---------------------------------------------------------------------------
extern PACKAGE AnsiString UserName;
//---------------------------------------------------------------------------
#endif
后记:大虾们都告诉我们,不要使用太多的全局变量,不要使用goto......于是,当你写程序时,总是有这样的声明在我们脑中回响:“不要使用太多的全局变量,不要使用goto......”。为什么不要使用这些东西?因为难以驾驭。如果你已剑气合一,是否还有这样的顾虑?
刀可以用来切菜,也可以用来杀人,不能因为刀能杀人而禁止用刀。
如果使用全局变量能让你的程序简洁明了、可读性好,为什么不用?
为什么这些现代程序设计语言仍然要支持goto和全局变量? |