我一直试图想出一个创造性的解决方案来解决这个问题(开启和关闭)一段时间,但我还没有能够做到.我最近认为它可以通过模板元编程来解决,但由于我相对缺乏该技术的经验,我不确定.
是否可以使用模板元编程(或使用C++语言的任何其他机制)来计算从某个基类派生的类的数量,以便为每个派生类提供唯一的静态类标识符?
提前致谢!
我想到的应用程序类似于Vector<size>类,我希望在其中声明
CrossProduct(const Vector<size>& other)
Run Code Online (Sandbox Code Playgroud)
仅适用于尺寸为3的情况.我知道有很多方法可以解决它...
有没有办法正确地声明特定实例化的成员函数?
在堆上构造对象在C++语言中看起来很简单.当代码
T* object = new T();
func(object);
Run Code Online (Sandbox Code Playgroud)
被调用,我的理解是必须首先分配内存,然后初始化,最后调用类的构造函数.此外,在构造完成之前,对象的虚拟表不一定可用.
我的问题是:operator new在对象构造完成之前,可以返回指向已分配/初始化内存的指针,这样可以func(...)在一个未完全构造的对象上运行吗?这个问题的答案对我正在开发的多线程库有影响.
提前致谢.