草庐IT

bfv_basics

全部标签

c++ - 为什么这个编译器错误? - 没有匹配函数调用 'std::basic_ofstream<char>::open(std::string&)'

这适用于VisualStudio,并且适用于一台计算机上的GCC4.9.2。但在不同的计算机上,我认为它是相同的GCC4.9.2编译器,但它给了我这个错误。我错过了什么吗?怎么回事?#include#include#includeusingnamespacestd;intmain(){stringfilename;filename="teststring";ofstreamfout;fout.open(filename);fout.||===Build:Debuginfileiotest(compiler:TDM32GNUGCCCompiler4.9.2dw2)===|F:\Users

c++ - 提升精神 : how to convert basic types?

假设我有一个std::string属性,但为了便于解析,我想使用qi::int_或qi::double_.是否有一种简单的方法可以将转换作为语义操作进行?我试过这样的:std::stringstreamss;my_int_as_str=qi::int_[ref(ss)但这甚至无法编译。编辑-尝试使用下面sehe的回答#include#include#include#includenamespaceqi=boost::spirit::qi;namespacephx=boost::phoenix;intmain(intargc,char*argv[]){std::stringtest="1

c# - 是否有与 boost::interprocess::basic_string 等效的 C#?

在C++中,您可以使用boost::interprocess定义一个boost::interprocess::basic_string,它基本上是对存储在内存映射文件中的字符串的抽象。您可以像在您的应用程序中使用任何其他字符串一样无缝地使用它(当然假设您注意线程安全)。是否有任何等效的C#库/nuget包/代码段? 最佳答案 没有。但是,即使可以透明地实现,C#中的字符串也是不可变的。因此,我认为拥有一个像那样的图书馆甚至不会非常有用。 关于c#-是否有与boost::interproc

c++ - 尝试构建 muParser:错误:'std::basic_ostream 的显式实例化但没有可用的定义

我试图在mac上构建muParser,它一直有效,直到我将XCode升级到4.4并更新了gcc。现在我得到以下代码行生成我不明白的错误:mu::console()&std::operator&,conststd::basic_string&)[with_CharT=char,_Traits=std::char_traits,_Alloc=std::allocator]'butnodefinitionavailable../muparser/src/muParserBase.cpp:Ininstantiationof'std::basic_ostream&std::operator&,c

c++ - strcmp 无法将 ‘std::string {aka std::basic_string<char>}’ 转换为‘const char*

这个问题在这里已经有了答案:strcmporstring::compare?(6个答案)关闭8年前。提前为问题的基本性质道歉。我正在尝试使用strcmp函数来测试两个字符串的匹配字符。我将问题简化为下面的简单代码:#include#includeusingnamespacestd;voidcompareStrings(string,string);intmain(){stringstring1="testString",string2="testString";compareStrings(string1,string2);return0;}voidcompareStrings(str

c++ - 如果 basic_waitable_timer 在仍有异步操作等待时被破坏怎么办?

如果basic_waitable_timer在仍有异步操作等待时被销毁怎么办?是否在任何地方记录了该行为? 最佳答案 当一个IO对象,比如basic_waitable_timer,被摧毁,它的destructor将在IO对象的服务上调用destroy()(不要与io_service混淆),传递IO对象的实现。basic_waitable_timer的服务是waitable_timer_service并满足WaitableTimerService类型要求。WaitableTimerService的要求定义了destroy()取消异步等

c++ - 二进制表达式 ('ostream'(又名 'basic_ostream<char>')和 'ostream' 的无效操作数)

我正在努力cout但是,编译时出现“二进制表达式的无效操作数('ostream'(又名'basic_ostream')和'ostream')”错误。#includeusingnamespacestd;ostream&Print(ostream&out){out为什么这不起作用?我怎样才能解决这个问题?谢谢!! 最佳答案 您可能正在寻找的语法是std::cout.pointer函数被视为操纵器。内置operator将指针指向Print并用cout调用它.#includeusingnamespacestd;ostream&Print(o

c++ - istream 中的 getline 和 basic_string 中的 getline

stringtext;getline(text.c_str(),256);1)我收到错误消息“错误:没有匹配函数来调用‘getline(constchar*,int)”上面有什么问题,因为text.c_str()也返回一个指向字符数组的指针。如果我这样写chartext[256]cin.getline(text,256,'\n');它工作正常。cin.getline和getline有什么区别?2)怎么会textstring;getline(cin,text,'\n')接受整行作为输入。这个字符数组的指针在哪里? 最佳答案 text.

c++ - WaitForMultipleObjects 和 boost::asio 在多个 windows::basic_handle 上有什么区别?

我有一个HANDLE列表,由许多不同的IO设备控制。之间的(性能)差异是什么:在所有这些句柄上调用WaitForMultipleObjectsasync_readonboost::windows::basic_handle'saroundallthesehandlesWaitForMultipleObjects是O(n)时间复杂度吗?n个句柄?您可以以某种方式在windows::basic_handle上调用async_read对吗?或者这个假设是错误的?如果我在多个线程中调用同一个IO设备上的运行,处理调用是否会在这些线程之间平衡?这将是使用asio的主要好处。

c++ - C++17 std::basic_string_view 是否会使 C 字符串的使用无效?

C++17正在引入std::basic_string_view,它是非拥有字符串版本,其类仅存储指向字符串第一个元素的指针和字符串的大小。还有理由继续使用C字符串吗? 最佳答案 IstherestillareasontokeepusingCstrings?我认为可以公平地说,除了使用CAPI之外,从来没有有理由使用C字符串。在设计只需要字符的只读表示的函数或方法的接口(interface)时,您会更喜欢std::string_view。例如。搜索字符串、生成大写拷贝、打印它等等。在设计一个接受字符串拷贝的接口(interface)时