c++ - c ++:如何将模板类型限制为可复制分配的类型?
问题描述
template<typename T>
class A {}
如何将类型 T 限制为仅可复制分配的类型?我知道,std::is_copy_assignable<T>::value
但我怎么能用它来限制 A 类的类型 T?
解决方案
您也可以使用static_assert
它,它可以让您生成更好的错误消息:
template<typename T>
class A
{
static_assert (std::is_copy_assignable_v<T>, "T must be copy-assignable");
};
推荐阅读
- javascript - :host 选择器不适用于具有阴影 dom 的自定义元素
- c++ - 对“MurmurHash3_x64_128(void const*, int, unsigned int, void*)”的未定义引用
- python - 创建具有必需和可选属性的python类?
- elasticsearch - 如何跨索引和类型进行搜索?
- php - php - 在“for”循环中将 css 类添加到当前月份
- amazon-web-services - 创建附加到用户的 IAM 策略,限制用户使用某些操作创建自定义托管策略
- python - 使用while循环在python中使单词大写的替代字母
- android - 尽管无休止地调用 onGeoQueryReady,但永远不会触发 Geofire onKeyEntered
- python - 通过python逐行读取yelp数据集
- javascript - 防止不必要的 React 组件重新渲染