相关疑难解决方法(0)

外部内联

我理解"内联"本身就是对编译器的建议,并且在它的结构中它可能会或可能不会内联函数,它也会产生可链接的目标代码.

我认为"静态内联"执行相同的操作(可能内联也可能不内联),但在内联时不会产生可链接的目标代码(因为没有其他模块可以链接到它).

"extern inline"在哪里适合图片?

假设我想用内联函数替换预处理器宏,并要求此函数被内联(例如,因为它使用__FILE__和__LINE__宏,这些宏应该为调用者而不是这个调用函数解析).也就是说,如果函数没有内联,我想看到编译器或链接器错误."extern inline"这样做吗?(我假设,如果没有,除了坚持使用宏之外,没有办法实现这种行为.)

C++和C之间是否存在差异?

不同编译器供应商和版本之间是否存在差异?

c c++ extern inline-functions

86
推荐指数
3
解决办法
4万
查看次数

C++类中变量的多重定义

假设这两个 cpp 文件:

0.cc

#include <iostream>

class test{
 public:
 int num = 5;
};

int main(){
 test t;
 return t.num;
}
Run Code Online (Sandbox Code Playgroud)

1.cc

class test{
 public:
 int num = 6; // <-- note this has a different value.
};
Run Code Online (Sandbox Code Playgroud)

我们用g++ 0.cc 1.cc.

从 C++11 开始,在类中初始化成员变量是有效的。我的问题是它如何编译 whiteout 链接器错误?这是未定义的行为吗?因为我们正在打破一个定义规则。如果没有使用类,这将在编译时产生链接错误。

我知道在一个类中定义一个函数会使其内联,因此可以在不同的文件中包含多个函数,但不确定多个变量如何?

c++

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

标签 统计

c++ ×2

c ×1

extern ×1

inline-functions ×1