假设我有一个声明函数返回const类型的库:
class Foo { ... };
const Foo makeFoo();
Run Code Online (Sandbox Code Playgroud)
现在我想const从makeFoo()返回类型中删除(请参阅我之前的问题).我可以const从头文件和cpp文件中删除它们,重建库,并将我的代码链接到新库.但是,我还有动态链接到此库的旧代码,我希望它继续使用新版本的库.
那么,第一个问题,是否const从返回类型中删除了ABI?
第二个问题,实际代码是完全不同的:它是一个具有静态成员函数的模板类,稍后将显式实例化:
// fooMaker.h
template<class Foo>
class FooMaker {
public:
static const Foo make();
};
// fooMaker.cpp
template<class Foo>
const Foo FooMaker<Foo>::make() { ... }
template class FooMaker<Foo1>;
template class FooMaker<Foo2>;
Run Code Online (Sandbox Code Playgroud)
它改变了什么吗?
如果这很重要,我在linux下使用g ++.
| 归档时间: |
|
| 查看次数: |
358 次 |
| 最近记录: |