gpt4 book ai didi

c++ - C++ 中函数的特殊限定符

转载 作者:行者123 更新时间:2023-11-30 03:52:08 26 4
gpt4 key购买 nike

我在几个地方看到过代码,其中您有一个由用户定义的关键字限定的函数。例如

#define EXTERNAL_API dec __declspec(dllexport)

然后我们有一个函数调用

void EXTERNAL_API doStuff() {}

我理解这种情况的目的,但我想知道这些限定符是否可用于对使用 this 限定的函数执行特定行为。例如,如果我想在我的类中将一个函数标记为已弃用,并且如果我在其他地方使用此函数调用,我会收到一个编译时警告,指出此函数已弃用,请改用 doStuff2()。我怎样才能实现这个功能?

最佳答案

每个编译器都有自己的关键字来将函数标记为已弃用,对于 MSVS,您可以执行以下操作:

#define DEPRECATED __declspec(deprecated(COMPILE_ERROR_TEXT))

您可以将其用作:

DEPRECATED void oldFunction();

在 C++14 中可以使用 [[deprecated]] 标签。像那样:

[[deprecated]]
void oldFunc();

希望对你有所帮助

关于c++ - C++ 中函数的特殊限定符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30875616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com