header-only

    14热度

    2回答

    我正在开发一个仅包含头文件的库。到目前为止,它只包含类,这很好。但是,我已经到了一个地步,我需要在库中有一些库中可访问的不变数据(即,不是类实例数据)来实现某些功能。您显然不能将全局数据放在头文件中,否则每个编译单元都会为该符号定义一个符号,并且在链接时您会得到多个定义错误。 我似乎已经找到了解决办法,让我在一个类中的静态数据,而无需通过只是使数据static变量的函数,并返回一个指针数据编译单元

    2热度

    3回答

    我有一个库,既可以用作仅标题库,也可以用作传统库。要启用此可选标题专用功能,该库包含.cpp源文件(如果以纯标题模式编译的话)。例如: // Vector.hpp // (Module file), intended to be included manually by the user #ifndef LIBRARY_MODULE_VECTOR #define LIBRARY_MODULE

    5热度

    4回答

    看来我不得不在这里插入相当多的代码。我想知道,如果它是坏的设计实践离开这完全是在这样的一个头文件: #include <list> #include <string> #include <boost/noncopyable.hpp> #include <boost/make_shared.hpp> #include <boost/iterator/iterator_facade.hpp>

    4热度

    1回答

    好日子, 之前完全迁移到WAF(1.7.5),我试图创造这种结构的一个简单的项目: wafproject ├── application │ ├── main.cpp │ └── wscript ├── library1 │ ├── foo1.hpp │ ├── foo2.hpp │ └── wscript └── wscript 这是根wscript: def options

    24热度

    4回答

    显然,模板库只需要标题,但对于非模板,什么时候应该只做标题?

    11热度

    1回答

    我写一个C++库(头,只),并正在使用CMake的生成我(的Visual Studio)项目和打印错误解决方案文件我还在编写一个测试套件,它是同一个CMake项目的一部分。当我打电话target_include_directories()就表示我唯一的标题库,使我的媒体库的消费者可能会发现其头文件的目标发生 我的问题。我收到以下错误消息(即使生成不中止)。 CMake Error in CMake

    8热度

    9回答

    望着这个项目(http://www.savarese.com/software/libssrckdtree/)我发现定义中的“C++头只模板库”。目前,我有基本的C++知识,但想知道这是什么确切指的是,为什么这个人使用它在这个项目上

    1热度

    2回答

    我想知道与如下所示的只有头布局编写一个C++应用: // code3.h #include <iostream> class code3 { public: void print() { std::cout << "hello " << std::endl; } }; // code2.h #include "code3.h" class

    1热度

    1回答

    模板功能,为了避免代码BLOAD由于过度内联... 这是实现其作用 像内联函数模板功能的有效方法是什么? 原始内联函数声明: inline double MyInlineFunction(){ return 3.141592653589; } 替代函数声明中使用模板函数: template<typename T = void> double MyInlineFunctionT()