gpt4 book ai didi

c++ - 在嵌套类型中保留 volatile

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:24:43 24 4
gpt4 key购买 nike

template<typename T>
struct S {
using type = T;
};

volatile S<int> s;

template<typename T>
void f(T& v) {
using n = typename T::type;

S<n>::_; // to show

}

int main() {
f(s);
}

f T推导为 volatile S<int> ,但是n是只有int .我该怎么做才能保留 volatile , 那是,有 nvolatile int

最佳答案

using n = typename std::conditional< std::is_volatile<T>::value, 
volatile typename T::type,
typename T::type >::type;

如果 Tvolatile,则将 volatile 添加到 n

关于c++ - 在嵌套类型中保留 volatile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54922795/

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