腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
C++11
向后兼容性(将空整数常量
转换
为指针)
、
、
、
C++标准允许将零整数常数
隐
式
转换
为任何类型
的
指针。以下代码无效,因为值v在这里不是常量:{ return v; // Error但以下代码是正确
的
: const int v = 0;} 问题是:为什么
浏览 2
提问于2015-11-11
得票数 10
回答已采纳
1
回答
停止
C++98
和
C++11
的
隐
式
转换
、
、
、
、
我有一个模板化
的
类,它有一个get()方法,它返回模板化
的
类型。<float> attr(0.0f);我希望编译器能捕捉到这一点,并告诉我有一个非法
的
转换
。一种简单
的
方法是创建一个新
的
Holder<T>类,该类将一个
转换
操作符
转换
为模板化
的
类型。implicit conversion operator T() const { return m_v
浏览 8
提问于2017-02-23
得票数 2
1
回答
GCC与不同C++标准
的
混合
、
、
、
我有以下情况:即使在做了一些研究之后,我也不能完全回答这个问题,如果这会引起问题。说:
C++98
语言与
C++11
语言兼容,但是库中有几个地方破坏了兼容性。这使得将
C++98<
浏览 2
提问于2016-06-27
得票数 14
2
回答
操作符void*()
转换
仍然是C++库
的
一部分吗?
、
、
、
、
考虑一下这个项目:int main() delete std::cout;
转换
函数操作符void* () const已从
C++11
中删除。因此,该程序在
C++11
编译器上编译失败。没错,g++ 4.8.1
和
4.9.2都给出了诊断(以警告
的
形式,删除void*是未定义
的
&这也是一件好事)。但是,该程序不应该在编译中失败吗?因为删除了所有流对象都可以在
C++98
&C++03中
隐
浏览 2
提问于2015-08-16
得票数 0
回答已采纳
1
回答
如何在模板中将本机类型显
式
转换
为用户定义
的
类型
、
、
我希望得到一个足够灵活
的
类,以便根据模板中
的
type type类型处理显
式
转换
。怎么做呢?我猜这个类将不得不处理
转换
。以下是我想做
的
事。::convertToBigNumber(T in) { bn.digits.push_back(in);} uint
浏览 1
提问于2015-11-07
得票数 0
回答已采纳
1
回答
旧
的
分配程序::constructor与新
的
构造器
和
显
式
构造函数有什么区别?
、
据我所知,std::allocator<T>::construct在旧版本
的
C++上只接受两个参数;第一个参数是指向未构造
的
原始内存
的
指针,我们希望在其中构造一个T类型
的
对象;第二个参数是一个元素类型
的
值+98 but on
C++11
it is optional // Foo* const p = a.allocate(200); // works fine on
C++11
but not on
C++9
浏览 5
提问于2019-11-07
得票数 10
回答已采纳
1
回答
gcc 4.7 STL库在配对实现上
的
缺陷?
、
、
是4.7
的
问题还是4.6
的
问题?使用-std=gnu++0x编译。
浏览 2
提问于2012-04-20
得票数 1
回答已采纳
4
回答
串流是libstdc++扩展吗?
、
、
、
此程序使用-std=
c++11
和
libstdc++编译gcc-4.2、gcc-4.7-2 (using -std=c++03)
和
Clang3.2(感谢Andy Prowl,请参阅注释)。std::stringstream s; s << "b"; } 通过查看ofstream
的
构造函数std::cout << &qu
浏览 0
提问于2013-02-09
得票数 1
回答已采纳
1
回答
强制
转换
操作符可以是显
式
的
吗?
、
、
、
当涉及到构造函数时,添加关键字explicit会阻止热心
的
编译器创建对象,而这不是程序员
的
初衷。这种机制是否也适用于强制
转换
操作符?struct Foo operator std::string() const;例如,在这里,我希望能够将Foo强制
转换
为std::string,但我不希望这种强制
转换
隐
式
发生。
浏览 4
提问于2011-11-23
得票数 86
回答已采纳
1
回答
GCC:在使用
c++11
时发出警告
、
、
、
给定
的
问题如果我们
的
代码库中使用了
C++11
特性(不包括其他源依赖项),是否可以配置GCC以某种方式警告它。我知道如何使用,但是: 我想在Linux平台上使用最新
的
编译器标准。有一些仅限于linux
的
第三方依赖项(从源代码构建)需要<
浏览 0
提问于2018-09-20
得票数 0
1
回答
C++11
basic_istream
转换
为bool
、
、
、
、
据我所读,
C++11
不再支持将istream/ostream
隐
式
转换
为void*,然后可以
隐
式
转换
为bool,以便在then循环中使用。getline(cin,test))) cout << "received" << endl; cout << "break";whil
浏览 0
提问于2017-10-13
得票数 1
回答已采纳
1
回答
我包括<cmath>,但不能编译std::abs(双)
、
、
、
在重新安装Rad-Studio XE2之后,我发现一些用于编译
的
代码不再起作用。int64) at c:\program files (x86)\embarcadero\rad studio\9.0\include\windows\crtl\stdlib.h:538' 这段代码过去是编译
的
,
浏览 0
提问于2013-11-25
得票数 0
3
回答
要在构造函数中使用
的
C++枚举返回函数
、
、
、
、
我想从函数返回一个枚举值,因为我
的
构造函数需要创建一个枚举值。我
的
班级:enum myType {type1, type2, type3} MT;myBasket(myType thetype) : MT(thetype){} 下面的部分是我想要创建
的
函数,但我不知道如何返回枚举值,所以我只是写它来告诉你我想要什么,因为这是我
的
问题,如果需要,我如何在头文件中识别它?
浏览 0
提问于2013-04-22
得票数 0
回答已采纳
3
回答
为什么std::cout可
转换
为无效*如果使用g++?
、
、
、
为什么可以将std::ostream
转换
为void指针?我不知道在std::ostream中有任何这样
的
转换
操作符。}Foo* pFoo = new (std::cerr) Foo; 完全不知道为什么要写这样
的
东西。PS:我正在用g++ 4.9.2编译,不管有没有-std=
c++11
。clang++ 不接受代码。PSS:发现由于所谓
的
“安全bool问题”(请参阅@nice字节
的
答案),在<e
浏览 3
提问于2015-01-21
得票数 13
回答已采纳
2
回答
如何解决变量初始化C++
的
警告
、
、
在编译C++文件时,我收到了以下警告:我在Ubuntu18.04.1上使用g++ 7.4.0,我不想忽视警告,但是要解决它,谢谢 PS :我试图将-std=c++0x更改为-std=
c+
浏览 2
提问于2020-01-29
得票数 5
回答已采纳
2
回答
在C++中引入最小CMake标准版本
、
、
CMake有一个,用于为C++标准设置
和
定义显
式
值,通常如下:set(CMAKE_CXX_EXTENSIONS OFF) 更新:以下内容超出了问题
的
范围,但由于我从虽然GDCM
的
浏览 12
提问于2018-01-08
得票数 4
回答已采纳
2
回答
我应该在
C++11
中显
式
声明
转换
操作符吗?
、
、
、
在
C++11
中,建议: 显
式
声明一个参数构造函数为显
式
,以避免
隐
式
转换
(根据)。在这个思路中,应该声明
转换
操作符explicit,以防止编译器使用它们来执行
隐
式
转换
吗?
浏览 1
提问于2015-12-23
得票数 1
回答已采纳
1
回答
使用-std=
c++98
或-std=c++03构建
的
谷歌protobuf版本是什么?
、
我正在为一个只有-std=
c++98
交叉编译器
的
嵌入
式
系统构建软件。我们希望将通过协议via 2编码
的
数据发送到服务器。不幸
的
是,protobuf现在需要
C++11
。在中,有人建议“我们可以创建一个为
C++98
工作
的
分支,该分支将只接受错误修复,而不接受新功能、优化等。”“在我们切换到
c++11
之前,代码应该用--std=c++03编译”已经关闭,但我找不到相应
的
提交。我尝试过用-std=
c++98
浏览 13
提问于2019-07-05
得票数 0
3
回答
C++11
模板函数“隐含”将bitset<N>
转换
为"unsigned long“
、
、
我可以创建一个
C++11
模板函数来显
式
地将一个位集
转换
为一个无符号
的
长整型:unsigned long U(bitset<N> x) {} unsigned long y = U(bitset<4>("1010")); 有没有一种方法可以使用
C++11
模板辅助函数将位集“
隐
<
浏览 0
提问于2018-06-20
得票数 1
2
回答
为什么只有在列表初始化
的
情况下才会出现收缩
转换
警告?
、
、
、
、
; // <--- Warning in GCC, error in Microsoft Visual Studio 2015 } 为什么只有在列表初始化使用
的
情况下才会出现收缩
转换
警告
浏览 5
提问于2016-12-25
得票数 17
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Scala 隐式转换和隐式参数
Scala函数编程和隐式转换
有趣的 JS 隐式转换
java的自动类型转换(隐式转换)
编程教程:浅谈C#的隐式显式类型转换
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券