草庐IT

get_option

全部标签

c++ - optional<T> 进入 C++ 标准的含义

std::optional构造最近(?)被采用到C++17语言标准中。现在,现有API中有很多地方std::optional是替代函数返回类型的候选者;本质上,这些函数试图检索/生成某些东西,但不能保证一定会成功:在容器中查找元素。通过键访问映射中的值。分配内存从文件或网络建立输入/输出流因此,我的问题是:标准委员会是否正在考虑(甚至已经接受)对涉及使用std::optional的已建立API进行更改/添加??如果是,标准的哪些部分(据您所知)可能会发生变化?C++17或更高版本是否会发生此类更改? 最佳答案 Isthestanda

c++ - 仅使用 get 或 set 的原始类型的线程安全威胁是否被夸大了?

在过去的一周里,我在工作中一直在争论一个系统,在这个系统上,Cortex-A9上的double是从多个线程获取和设置的,没有线程安全的提示。它似乎工作正常,经过一些测试后,我无法让我的桌面在使用__int128的简单测试中失败。读取错误值的几率是否非零?如果可能性很大而我没有做对?任何在现代x86_64机器上反复失败的示例代码都很棒。但仅对基本类型使用get/set。 最佳答案 尝试运行这个:#include#include#includestd::arraysharedArray;voidtaskOne(){while(true)

c++ - get_time 未按预期运行

我在尝试使用put_time和get_time函数时遇到了一些问题。我拿了这段代码:#include#include#include#includeintmain(){std::tmt={};std::istringstreamss("2011-Februar-1823:12:34");ss.imbue(std::locale("de_DE.utf-8"));ss>>std::get_time(&t,"%Y-%b-%d%H:%M:%S");if(ss.fail()){std::cout来自here.但是,当同时使用gcc版本8.8.1和clang版本6.0.0进行编译时,我得到解析失败

c++ - GET 请求的 TLS 初始化失败

我从qt/c++开始,在我的项目中我需要制作一个jsonpost/get/put但我正在尝试做一个简单的get请求但我有一个错误:qt.network。ssl:QSslSocket::connectToHostEncrypted:TLS初始化失败我不知道为什么,我尝试了一些方法,但都放了同样的信息。我附上我使用的代码。主窗口.cpp:voidMainWindow::replyFini(QNetworkReply*reply){QStringanswer=QString::fromUtf8(reply->readAll());qDebug()"get(request);}主窗口.h:#i

c++ - 有没有办法使用 boost::program_options::parse_config_file 在 INI 文件中包含多个 "name=value"行?

我希望能够使用boost::program_options在INI文件中指定多个name=value行。有点像[list.names]name=valuename=value2name=value3有没有办法用boost::program_options实现这个?如果我尝试它,我会得到一个多次出现的错误如果没有,还有哪些其他库可用? 最佳答案 指定字段的值为std::vector在options_description:namespacepo=boost::program_options;po::options_descriptio

在$ _ get上保留问号,并重写规则

所以我找到了这个有趣的问题在使用重写规则后,使问号符号出现在$_get变量上。但是,尽管我自己尝试完成这项工作,但我不太了解它如何在网站上获得相同的结果。这是我的重写规则:RewriteRule^(.+)$index.php?uri=$1[QSA,L]这基本上使我可以将用户路由到特定的位置,而无需对我的HTACCESS文件上的每个页面进行硬编码,因此,如果用户访问/about/Contact页面,他实际上将转到index.php?uri=/about/aidof/contact。问题是有时我希望问号保存在$_get中。假设一个主题标题是“怎么了?”然后,我的URL会搜索一个主题/主题/what

c++ - QT Get请求解析JSON

我正在尝试制作GETrequest为了验证用户。这是我的代码:voidMainWindow::on_loginButton_clicked(){QStringemail="test";QStringpassword="test";nam=newQNetworkAccessManager(this);QObject::connect(nam,SIGNAL(finished(QNetworkReply*)),this,SLOT(serviceRequestFinished(QNetworkReply*)));QUrlurl("http://url.com/api.php?action=au

c++ - 使用 std::get 作为 std::transform 的参数

我可能在这里遗漏了一些明显的东西——为什么我不能以这种方式使用std::get?#include#include#include#include#includeintmain(){std::mapsome_map;std::setset_of_ints;std::transform(some_map.begin(),some_map.end(),std::inserter(set_of_ints,set_of_ints.begin()),std::get);return0;}我试过的编译器是VS2010以及Ideone.com用于C++14的任何编译器(一些最近的GCC?)。这是后者的

类中的 c++ get/set 方法,我必须使用哪种数据类型?

我有一个像下面这样的类classCircle{private:intradius;Circle*next}我要创建set/get方法...但我不知道我必须使用哪种数据类型。intCircle::getRadius()const{returnradius}orint&Circle::getRadius()const{returnradius}voidCircle::setRadius(intr)orvoidCircle::setRadius(int&r)CirCle*Circle::getNext()const{returnnext}orCircle&Circle::getNext()c

c++ - boost program_options 开/关标志

使用bool_switch,我可以写一个命令行选项来打开一个标志:boolflag;po::options_descriptionoptions;options.add_options()("on",po::bool_switch(&flag)->default_value(false));现在./a.out将有flag==false而./a.out--on将有标志==真。但是,为了明确起见,我还想添加一个命令行选项来关闭标记。像这样的东西:options.add_options()("on",po::bool_switch(&flag)->default_value(false))(