小编Hat*_*ate的帖子

如果我没有头文件,如何使用静态库中的函数

它是一种使用静态lib函数的方法,如果我没有头文件,只有*.a文件,但我知道函数签名?

c c++ static-libraries

20
推荐指数
2
解决办法
1万
查看次数

静态字段的析构函数.单身实现

因此,经典简单的Singleton实现如下:

class Singleton
{
private:
    static Singleton* singleton;
    Singleton() {}
public:
    static Singleton* getInstance();        
};
Run Code Online (Sandbox Code Playgroud)

cpp文件:

Singleton* Singleton::singleton = 0;

Singleton* Singleton::getInstance()
{
    if (!singleton)
    {
        singleton = new Singleton;
    }

    return singleton;
}
Run Code Online (Sandbox Code Playgroud)

我在这里看到的内存泄漏- "因为没有删除.但是在C++中没有静态析构函数,所以我们只是不关心这个内存泄漏?

c++ singleton static design-patterns

13
推荐指数
1
解决办法
8814
查看次数

"#if Foo - 0 == 0"和"#if defined(Foo)&& Foo == 0"有什么区别?

qt文档中找到这个.有什么区别

#if defined(Foo) && Foo ==  0
Run Code Online (Sandbox Code Playgroud)

#if Foo - 0 ==  0
Run Code Online (Sandbox Code Playgroud)

据我所知,如果Foo未定义,后者也将是假的?我在哪里可以读到这个?

c c++ qt c-preprocessor

12
推荐指数
1
解决办法
697
查看次数

自然连接,如果没有共同属性

如果表没有相同名称的属性,那么自然连接在关系代数中会返回什么?它是null还是与cross-product(笛卡尔算子)相同?

relational-algebra relational-database

12
推荐指数
2
解决办法
1万
查看次数

静态库如何工作?(C/C++)

我知道如何使用和创建它们,但是我找不到关于它是如何实现的文本,函数调用是如何发生的等等,有人可以帮我提供这些信息吗?因为我想了解它们,但不仅仅知道它是什么以及它是如何工作的

c c++ static-libraries

7
推荐指数
1
解决办法
2957
查看次数

包含在标头或cpp中-Qt中首选

当我编写C ++类时,仅在特定情况下才包含在标头中。我更喜欢前向声明,并且我相信这是C ++中的最佳实践。但是Qt类通常有很多字段,它们是标准Qt类,因此在前向声明中全部编写它们似乎不是一个好主意。有一些首选的方法吗?Qt有大量文档,所以我认为它可以回答我的问题,但是我才开始阅读它。

c++ qt header include

4
推荐指数
1
解决办法
461
查看次数

声明数组时VS2008错误预期常量表达式,但GCC中此代码没有错误

我有以下功能

 void someFun(int* ar, const int size) {
      int newAr[size];
      //do something 
 }
Run Code Online (Sandbox Code Playgroud)

我得到这一行三个错误:

Error   1   error C2057: expected constant expression   
Error   2   error C2466: cannot allocate an array of constant size 0    
Error   3   error C2133: 'newAr' : unknown size 
Run Code Online (Sandbox Code Playgroud)

但var 大小是不变的!使用gcc编译时没有错误.你能告诉我vs2008(或者一般来说可能是Visual C++)的错误是什么?为什么?提前致谢.

c++ arrays const visual-studio-2008 visual-c++

3
推荐指数
2
解决办法
6668
查看次数