【发布时间】:2020-07-03 14:04:25
【问题描述】:
考虑以下代码:
#include <iostream>
#include <type_traits>
struct type {};
int main(int argc, char* argv[]) {
std::cout << std::is_convertible_v<volatile int, int> << " ";
std::cout << std::is_convertible_v<volatile int, volatile int> << " ";
std::cout << std::is_convertible_v<volatile type, type> << " ";
std::cout << std::is_convertible_v<volatile type, volatile type> << std::endl;
return 0;
}
打印出来
1 1 0 0
为什么volatile int 可以转换为int,而volatile type 不能转换为type?为什么volatile type 甚至不能转换为volatile type?
有没有办法让volatile 类可复制?
注意:欢迎参考 C++ 标准
【问题讨论】:
标签: c++ type-conversion language-lawyer volatile