jjzjj

cppReference

全部标签

c++ - 是否允许注释与预处理器指令在同一行,在这种情况下它们的含义是什么?

我正在考虑这样的事情:#include//Comment好吧,cppreference.com(http://en.cppreference.com/w/cpp/preprocessor)声称:Thepreprocessingdirectivescontrolthebehaviorofthepreprocessor.Eachdirectiveoccupiesonelineandhasthefollowingformat:#characterpreprocessinginstruction(oneofdefine,undef,include,if,ifdef,ifndef,else,el

auto{x}与auto(x)---一位中国小伙为cppreference作出的贡献

  C++作为一门静态类型语言,是需要程序员声明变量类型的。然而来到了C++11,auto的诞生使得变量声明变得及为方便,尤其是对于比较长的模板类型,auto一定程度上为代码编写者减轻了负担。到了C++23,突然来了个新特性:auto{x}/auto(x),这又是个什么东西,它的motivation又是什么?   首先这是一个中国小伙为C++23作出的贡献,他是一位在美国工作的engineering,这是他的主页。  到底解决了什么问题?  来看看这个函数。voidmy_erase(auto&x){std::erase(x,x.front());}  假如我们传入一个vector类型,vect

c++ - 什么是节点句柄?

在对cppreference.com进行随机文档检查期间我注意到一些容器的新成员函数重载将恰好是来自C++17的新标准类型作为参数称为NodeHandle.现在thedocumentationpageofnodehandlesonthesamesite给出了有关其工作原理的多个细节和技术行为,但它并没有真正正确地传达这种新型的总体思想和目的。因此问题来了,什么是节点句柄? 最佳答案 基于节点的容器具有支持轻松提取和合并的潜力。它就像从集合A中断开内部节点的链接并将它们放入集合B一样简单。这与将键和值移出容器不同,因为我们没有留下需要

c++ - std::get_time - 如何检查解析错误

我正在使用以下代码将字符串流解析为tm结构:std::tmtm;std::stringstreamss("Jan9201412:35:34");ss>>std::get_time(&tm,"%b%d%Y%H:%M:%S");我有兴趣检查是否发生解析错误(无效输入)。看起来这个函数并没有抛出异常。在文档中没有找到有用的信息:http://en.cppreference.com/w/cpp/io/manip/get_time听起来像是检查“goodbit”可能是方向,但我不确定该怎么做。(我使用的是VS2013编译器) 最佳答案 一如既

c++ - 为什么 cppreference 将 type_traits xxx_v 快捷方式定义为内联 constexpr 而不仅仅是 constexpr?

为什么cppreference将type_traitsxxx_v快捷方式定义为inlineconstexpr而不仅仅是constexpr?例如,参见is_integral_v:templateinlineconstexprboolis_integral_v=is_integral::value;这只是风格问题还是行为上有一些差异?据我所知constexpr变量是隐式inline.编辑:查看最新标准的草案,它也使用inlineconstexpr。那么这个问题实际上适用于标准。 最佳答案 [dcl.constexpr]/9Aconste

c++ - 为什么 cppreference 将 type_traits xxx_v 快捷方式定义为内联 constexpr 而不仅仅是 constexpr?

为什么cppreference将type_traitsxxx_v快捷方式定义为inlineconstexpr而不仅仅是constexpr?例如,参见is_integral_v:templateinlineconstexprboolis_integral_v=is_integral::value;这只是风格问题还是行为上有一些差异?据我所知constexpr变量是隐式inline.编辑:查看最新标准的草案,它也使用inlineconstexpr。那么这个问题实际上适用于标准。 最佳答案 [dcl.constexpr]/9Aconste

c/c++参考手册与手册查阅(apiref.com/Microsoft doc/cppReference/cplusplus)

文章目录c/c++参考手册与手册查阅(apiref.com/Microsoftdoc/cppReference/cplusplus)手册查阅cc++离线手册(pdf/html)pdf相关问题案例以查阅标准库中的String类的信息为例apiref.comdoc例:to_string()microsoftdoc(c++)c/c++参考手册与手册查阅(apiref.com/Microsoftdoc/cppReference/cplusplus)在linux环境下进行C语言编程,涉及到陌生的函数调用的时候可以通过man手册(命令)来查找文档但是有时候,我们需要查找语言的基本概念/关键字,则可以通过一

c++ - cppreference 中 atomic_compare_exchange_weak 的示例代码是否正确?

在http://en.cppreference.com/w/cpp/atomic/atomic_compare_exchange,以下示例代码作为std::atomic_compare_exchange_weak的示例使用:voidappend(list*s,node*n){node*head;do{head=s->head;n->next=head;}while(!std::atomic_compare_exchange_weak(s->head,head,n));}我的理解是这个有比较*(s->head)的效果与head,当我认为需要的是比较s->head与head.第一个参数应该

c++ - 为什么这个函数指针赋值在直接赋值而不是使用条件运算符时起作用?

(此示例未使用#include,在MacOS10.14、EclipseIDE上编译,使用g++,选项-O0-g3-Wall-c-fmessage-length=0)假设这个变量声明:int(*fun)(int);编译失败,“std::toupper和std::tolower的重载无效”。fun=(1?std::toupper:std::tolower);//ERROR,invalidoverload编译成功:if(1){fun=std::toupper;//OK}else{fun=std::tolower;//OK} 最佳答案 st

c++ - 为什么这个函数指针赋值在直接赋值而不是使用条件运算符时起作用?

(此示例未使用#include,在MacOS10.14、EclipseIDE上编译,使用g++,选项-O0-g3-Wall-c-fmessage-length=0)假设这个变量声明:int(*fun)(int);编译失败,“std::toupper和std::tolower的重载无效”。fun=(1?std::toupper:std::tolower);//ERROR,invalidoverload编译成功:if(1){fun=std::toupper;//OK}else{fun=std::tolower;//OK} 最佳答案 st
12