社区
C++ 语言
帖子详情
一定要std::forward(My)吗?
RioWing
2011-12-18 06:10:42
如果我不写std::forward<MyType>(My),而写成static_cast<MyType&&>(My), 会有什么问题?
我在
http://riocpp.wordpress.com/2011/12/15/stdforward-vs-static_cast/
贴了这个问题,还没答案。
好像这个问题只在
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2951.html
这讨论过,但测试例子太复杂。有没有简单些的也能说明问题?
...全文
81
2
打赏
收藏
一定要std::forward(My)吗?
如果我不写std::forward(My),而写成static_cast(My), 会有什么问题? 我在http://riocpp.wordpress.com/2011/12/15/stdforward-vs-static_cast/ 贴了这个问题,还没答案。 好像这个问题只在http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2951.html这讨论过,但测试例子太复杂。有没有简单些的也能说明问
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
RioWing
2011-12-19
打赏
举报
回复
>std::forward<>();要求参数是左值
没有这个要求啊。
std::forward<>(); 目的是Perfect forwarding
std::move();目的是 move semantics
这是&&的两大应用。如果我错请更正。
iamnobody
2011-12-18
打赏
举报
回复
std::forward<>();要求参数是左值。
强制转换就没有要求。
但是,目前还没有想到要用到这个底层的工具的地方。一般情况使用std::move();
std
::string
std
::vector
std
::map 源代码 结构
|| ((_Myvec *)this->_Getcont())->_Mylast <= this->_Ptr) { // report error _DEBUG_ERROR("vector iterator not dereferencable"); _SCL_SECURE_OUT_OF_RANGE; } #elif _ITERATOR_DEBUG_LEVEL =...
[C++]
std
::format应用自定义类型
std
::format应用自定义类型
c++11
std
::move剖析
很多初学者会被
std
::move这个名字误导,认为它会像memmove一样,在运行时移动内存中的数据。这是关于
std
::move最大的误区。。它本身不会产生任何运行时开销,不生成任何CPU指令。它的所有魔力都发生在编译期。
C++20之concept 和 require
可能要不止一次地需要指针约束,所以可以为约束引入一个概念。
7-C++11/14/17 特性整理 + Effective Modern C++ 条款实践(二)
保留值的完整性直到最后一次使用,避免提前转发导致值失效。// 只读使用,不转发// 最后一次使用:有条件转发为右值// 只读... add(
std
:: chrono :: system_clock :: now() ,
std
::
forward
< T >(text));(text));
C++ 语言
65,210
社区成员
250,518
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章