static相关内容
阅读sbi和Eli Bendersky在这个问题我开始想知道什么是静态成员函数。 类的朋友自由函数应该不能做任何一个静态成员函数可以做什么? 解决方案 一般情况下: 需要访问私有成员 static成员函数可以访问类的私有成员。如果需要,可以使用静态成员函数。你必须在标题中声明它,让它访问,所以你可以使它成为一个成员,而不是一个朋友。对于具有作为singleton的getI
..
重复: C ++:未定义的引用静态类成员 如果我有一个类/ struct这样 //头文件 class Foo { public: static int bar; int baz; int adder(); }; //实现 int Foo :: adder() { return baz + bar; } 这不起作用。我得到一个
..
我在Google上查看了有关 C ++初始化的几个帖子,其中一些帖子在StackOverflow上指向我。我从这些帖子中挑选的概念如下: C ++初始化的顺序是: 零初始化; 静态初始化; 动态初始化。 首先是已初始化,然后是静态初始化。 有关初始化问题(存储类问题也可能有相关问题)的几个查询: 全局对象(未定义静态关键字)也是静态对象? 也通过上述两个步骤以静
..
是否可以在构造函数之外初始化一个静态const值?是否可以在发现成员声明的相同位置初始化? 类A { private: static const int a = 4; /*...*/ }; 解决方案 如果你希望你的静态成员是任何其他类型,你必须在cpp文件中的某处定义它。 class A { private: static const int a
..
今天我有一个问题。我在需要一个静态成员函数,const不是必须的,但更好。但是,我没有成功我的努力。 c> 当你应用 const 限定符到非静态成员函数,它会影响 this 指针。对于 C 类的const限定成员函数,此指针的类型为 C const * ,而对于不是const限定的成员函数, this 指针的类型为 C * / code>。 静态成员函数没有 this 指针不是在类的特定实例
..
可能重复: 为什么我有一个未定义的引用 Monitor :: count “错误为以下代码?谢谢! #include
..
我需要帮助访问跨DLL /主程序的全局函数。我有一个Base类 Base.h #ifdef MAIN_DLL #define DECLSPEC _declspec(dllexport) #else #define DECLSPEC _declspec(dllimport) #endif class Base { private: DECLSPEC stat
..
我试图开发一个使用C ++的MySQL应用程序。我从他们的网站下载了图书馆,我试图编译以下代码: #include #include using namespace std; int main() { MYSQL * connection,mysql; MYSQL_RES * res
..
根据静态数据成员: 静态数据成员的声明在类的成员列表中不是定义。您必须在类声明之外的命名空间范围中定义静态成员。 为什么? 解决方案 这是语言的规则,被称为一个定义规则。在一个程序中,每个静态对象(如果使用)必须定义一次,只能定义一次。 类定义通常放在头文件中,包含在多个翻译单元即从多个源文件)。如果头中的静态对象的声明是一个定义,那么你最终会得到多个定义,每个单元中包含
..
我有一个在运行时加载的DLL。该DLL依赖于一个静态变量用于内部工作(它是一个std :: map),这个变量在DLL中定义。 当我调用第一个函数DLL加载后,我从DLL中得到一个SegFault,映射从未初始化。从我从DLL载入中读取的一切,静态和全局数据初始化应该发生在甚至调用DLLMain之前。 为了测试静态初始化,我添加了一个静态结构打印出来 static struct
..
class Foo { public: static const int kType = 42; }; void Func(){ Foo * bar = NULL; int x = bar-> kType; putc(x,stderr); } 这是定义的行为吗?我阅读通过C ++标准,但找不到任何关于访问静态const值像这样...我已经检查了由GCC
..
A类 { }; template class B { public: static int a [S]; B() { a [0] = 0; } }; 模板 int B :: a [1]; int main() { B t; t; } 它在GCC 4.1
..
即使在C ++中没有静态类 a>,来自Java背景我使用创建一个辅助类像 Util 只包含静态方法。这是否被认为是坏样式或惯例?我看到的一个选择是使用C函数(没有类上下文)。还有什么其他替代品?有什么优点和缺点,在哪些情况下我会使用这些。 建议将静态函数命名为一个替代方法,虽然我看不到什么影响 static code>关键字没有类上下文有。 解决方案 如果你想创建一个效用函数集合而不
..
我有一个命名空间 foo ,它包含一个整数 bar ,声明为... foo.h: namespace foo { int bar; } 现在如果我包括 foo.h 只有一个文件,这工作很好。但是当我从两个或多个文件中包含 foo.h 时会出现问题:我得到一个链接器错误。我想,如果我声明 bar 为 static ,我可以包括 foo.h 在多个文件中。这对我来说
..
根据以下资源,在C ++(特别是Visual C ++)范围内的静态变量初始化不是线程安全的。但是,全局静态变量是安全的。 http://stackoverflow.com/questions/1052168/thread-safe-static-variables-without-mutexing
..
我正在处理一些C ++代码,我遇到了一个问题,一直困扰我一段时间...假设我编译的GCC在Linux主机上的ELF目标,其中是全局静态构造函数和析构函数叫做? 我听说在crtbegin.o中有一个函数_init,在crtend.o中有一个函数_fini。这些是由crt0.o调用吗?或者动态链接器是否实际检测到它们在加载的二进制文件中的存在并调用它们? 我主要感兴趣的是知道所以我可以理解
..
我想这样做: 模板
..
如果我声明一个基本类型(char,int,double,...)的静态变量,等等),并给它一个初始值,我想编译器只是在程序的开始处设置该变量的值,然后调用 main() void SomeFunction(); int main(int argCount,char ** argList) { //此时,为'answer'保留的内存 //已包含值42 SomeFunctio
..
我今天的一个朋友问我为什么应该更喜欢使用单例对全局静态对象? 我开始解释的方式是单例可以有状态与静态全局对象不会...但是我不能确定...因为这在C ++ ..(我是从C# ) 这些优点是什么? (在C ++中) 解决方案 实际上,在C ++首选方式是本地静态对象。 打印机thePrinter(){ static打印机打印机; return printer; }
..
我正在从事一项家庭作业作业,除了我们的教授希望我们使用的令人讨厌的静态值之外,我几乎完成了所有工作:value 头文件包含: private: static int value; 我们必须有一个函数计算值,如下: static void calculate() { long a = 1L; int count = 0; while(a!=
..