static相关内容

static const double in c ++

这是使用静态const变量的正确方法吗?在我的顶层类(Shape) #ifndef SHAPE_H #define SHAPE_H class Shape { public: static const double pi; private: double originX; double originY; }; const double Shape ..
发布时间:2016-10-17 10:56:37 C/C++开发

static const char *和const char *的区别

有人可以解释一下如何处理下面的两个代码段的区别?他们绝对编译到不同的汇编代码,但我试图理解代码可能会如何不同。我理解字符串字面量被抛入只读内存,并且实际上是静态的,但是与下面的显式静态有什么不同呢? struct Obj1 { void Foo() { const char * str(“hello”); } }; 和 struct Obj2 ..
发布时间:2016-10-17 10:42:25 C/C++开发

如何从静态成员函数调用非静态成员函数,而不传递类实例

我需要从同一类的静态成员函数调用非静态成员函数。 静态函数是一个回调。它可以只接收void作为数据,虽然我通过一个char *。所以我不能直接提供类实例到回调。我可以传递一个结构,而不是char到回调函数。任何人都可以给出例如代码在静态成员函数中使用非静态成员函数。并使用静态成员函数中的结构来使用类的实例来调用非静态成员函数? 解决方案 这样的回调将如下所示: void回调(vo ..
发布时间:2016-10-17 10:27:11 C/C++开发

如何忽略来自_CrtDumpMemoryLeaks的假阳性内存泄漏?

似乎每当有静态对象时,_CrtDumpMemoryLeaks返回一个假阳性声称它是泄漏的内存。我知道这是因为他们不会被销毁,直到main()(或WinMain)函数。但是有什么办法避免这种情况吗?我使用VS2008。 解决方案 我发现如果你告诉它在程序终止后自动检查内存,对象被考虑​​。我使用log4cxx和boost在静态块中做了大量的分配,这固定了我的“假阳性”... 添加以下行 ..
发布时间:2016-10-17 10:14:58 C/C++开发

模板中的静态成员变量,具有多个dll

我的代码是建立到多个.dll文件,我有一个模板类,有一个静态成员变量。 我想要这个静态成员的同一个实例变量在所有dll中可用,但它不工作:我看到不同的实例(不同的值)在每个。 当我不使用模板,没有问题:初始化其中一个源文件中的静态成员,并在类上使用__declspec(dllexport)和__declspec(dllimport)指令。但它不适用于模板。有没有办法使它工作? 我 ..
发布时间:2016-10-17 09:58:05 C/C++开发

h关键字和内部链接

另一个 static 问题。 我已阅读以下内容: 什么是静态变量? 文件范围和静态浮动 http://msdn.microsoft.com/zh-CN/library/s1sb61xd.aspx 我仍然无法理解以下行为: 我有一个 h 文件: // StaticTest.h #include static int counter = 0; ..
发布时间:2016-10-17 09:37:20 C/C++开发

为什么静态成员变量与三元运算符不匹配?

这是协议。我有一个静态类,它包含用于获取输入的几个静态函数。该类包含一个私有静态成员变量,用于指示用户是否输入了任何信息。每个输入法检查用户是否输入任何信息,并相应地设置状态变量。我认为这将是一个好时机使用三元运算符。不幸的是,我不能,因为编译器不喜欢这样。 我复制了这个问题,然后简化我的代码尽可能多,理解。这不是我的原始代码。 这是我的头文件: #include ..
发布时间:2016-10-17 09:31:48 C/C++开发

何时使用静态成员函数?

可能的重复项: C ++:静态成员函数 什么时候在C ++中使用静态成员函数? 解决方案 静态成员函数的良好用途: 元编程。现实世界的例子是模板std :: char_traits。所有成员函数都是静态的 使它成为一个静态成员函数,它可以访问类的私有成员,虽然这里的朋友也可以。 因此,受保护的静态成员函数只能由其派生的类和类访问。 请注意,最后一种情况适用于受保 ..
发布时间:2016-10-17 09:17:26 C/C++开发

静态模板函数在类中

如何在类中创建以下函数,然后从main访问此函数? 我的类只是一组静态函数的集合。 模板 double foo(vector& arr); 解决方案 在.h文件中定义函数。 p> 适合我使用 ah #include #include using namespace ..
发布时间:2016-10-17 09:17:18 C/C++开发

为什么这个C ++静态单例从不停止?

我在C ++中实现了一个单例(静态版本)。我知道关于这种模式和潜在的线程安全问题的所有争议,但我很好奇为什么这个确切的实现不会停止。程序从不退出,在结束时仍处于死锁状态。 singleton.h: #pragma once #include #include 类Singleton { public: static Single ..
发布时间:2016-10-16 14:30:34 C/C++开发

各种常量/静态变量的链接

我有几个关于从以下变量的链接的问题。通过C ++ 03的7.1.1 / 7的例子和实验编译器(Comeau,Clang和GCC),我来到以下连接类型: 首先 static ,然后 extern $ b b static int a; //(a) extern int a; //(b)valid,'a'still internal :(a)意味着内部联系。和(b)也 ..
发布时间:2016-10-14 23:34:40 C/C++开发

静态constexpr变量是否有意义?

如果我在一个函数里面有一个变量(比如说一个大数组),那么有必要声明它 static 和 constexpr ? constexpr 保证数组在编译时创建,因此 static 是无用的? void f(){ static constexpr int x [] = { //几千个元素 } ; //使用数组执行某些操作 } 解决方案 答案是,不仅 stati ..
发布时间:2016-10-14 23:06:47 C/C++开发

应该从不使用静态内联函数吗?

使用 inline 关键字(§7.1.3 / 4)有两个影响: 提示编译器在调用点处替换函数体优于通常的函数调用机制。 则忽略行内替换,则遵循内联的其他规则(特别是wrt 一个定义规则)。 通常任何主流编译器将在调用点处替换函数体,如果需要的话,则标记 inline 仅用于#1 进一步写$ #2 ,我理解当你声明一个函数为 static inline 函数, 函数上的 s ..
发布时间:2016-10-14 23:05:22 C/C++开发

全局变量不工作

我有一个全局 int 我想更改不同的文件,由于某种原因它不工作。 我有: // test.h #include static int start1; //想全局使用它。 // declare void something(); // test.cpp #include“test.h” extern ..
发布时间:2016-10-14 22:32:29 C/C++开发

C ++中各个元素的静态数组初始化

以下代码适用于GCC的C编译器,但不适用于C ++编译器。是否有一个“捷径”在C ++中实现相同的结果? int array [10] = { [ 1] = 1, [2] = 2, [9] = 9 }; 编辑: Humm,我发现这一点,澄清一切。 http://eli.thegreenplace.net/2011/02/15/array-initializ ..
发布时间:2016-10-14 22:18:48 C/C++开发