草庐IT

message_string

全部标签

c++ - std::string 的串联引用是安全的吗?

我在看一些已经使用了很长时间没有问题的代码,下面我有一个简化版本:voidSomeClass::someMethod(conststd::string&arg1,conststd::string&arg2){//unrelatedcodeconststd::string&var=arg1+arg2;//varusedinotherconcatenations//varusedtoindexamap}我会假设var使用起来不安全,因为它引用了一个临时变量。这里的临时对象的生命周期太短或者它一直存活到方法结束? 最佳答案 constst

c++ - 根据长度对集合 <string> 进行排序

我的问题与this有关.我想借助作为谓词的lambda表达式对set执行sort()操作。我的代码是#include#include#include#includeintmain(){usingnamespacestd;strings="abc";setresults;do{for(intn=1;nbool{size_talength=a.length();size_tblength=b.length();return(alength::const_iteratorx=results.begin();x!=results.end();++x){cout但是错误的数量和类型是如此复杂,以

c++ - getline(cin, String) 在没有另一个输入的情况下接收输入

我的代码是这样的,stringaString;cin>>aString;cout)gets:"每次我运行它时,我都会输入“12”,我得到“12”和“”。我想知道为什么getline会在没有用户输入的情况下收到。我可以理解,当我输入“1224”之类的内容时,cin将获得“12”,而getline应该获得其余部分。(另外,如果有人能回答,中间的空格被视为cin的结尾,那么为什么它会传递给getline?)刚开始使用C++上的字符串,所以请不要让它太难。谢谢你。 最佳答案 当您将标准流提取与getline混合使用时,getline有时会返

c++ - std::string 或 std::vector<char> 保存原始数据

我希望这个问题适用于stackoverflow...将原始数据字节(8位)存储在std::string中有什么区别?而不是将它们存储在std::vector中.我正在从文件中读取二进制数据并将这些原始字节存储在std::string中.这很好用,这样做没有问题。我的程序按预期工作。但是,其他程序员更喜欢std::vector方法并建议我停止使用std::string因为它对原始字节不安全。所以我想知道为什么使用std::string可能不安全保存原始数据字节?我知道std::string最常用于存储ASCII文本,但是一个字节就是一个字节,所以我不明白std::vector的偏好.感谢

c++ - 是否可以使 std::string 始终包含小写字符串?

是否可以使std::string始终包含小写字符串?下面是我将如何使用它:typedefstd::basic_stringlowercase_string;voidmyfunc(){lowercase_strings="HelloWorld";//noticemixedcaseprintf(s.c_str());//prints"helloworld"inlowercasestd::strings2=s;printf(s2.c_str());//prints"helloworld"inlowercase} 最佳答案 您可以编写自己的

c++ - string::iterator 一定是 random_access_iterator 吗?

This页面声明string::iterator和string::const_iterator是“编译器特定的迭代器类型”。这是否意味着string::iterator属于random_access_iterator以外的类别? 最佳答案 ISOC++03,21.3-2声明:(...)Additionally,becausetheiteratorssupportedbybasic_stringarerandomaccessiterators(...)是的,这些必然是随机访问迭代器。 关于

C++ - std::wstring 到 std::string - 用作 std::map 中的键的快速而肮脏的转换

我正在寻找有关转换std::wstring的最佳方法的一些建议至std::string-但在std::map中用作键的快速而肮脏的转换对象。map很大,已经很好集成到项目中了,只有少数几个键需要这样转换,所以我认为把map改成很浪费一个接受std::wstring作为关键。转换的输出并不重要,但它必须保持一致,以便每次都能可靠地从map中提取正确的值。该应用程序是一个仅限Windows的应用程序。是否有任何已知的过程可以为此目的可靠地进行粗略转换?或者最好的方法是通过通常的、适当的转换过程(如SO问题/答案中所述:Howtoconvertwstringintostring?)?编辑:请

解决:Failed to execute ‘setRequestHeader‘ on ‘XMLHttpRequest‘: String contains non ISO-8859-1 c

做项目过程中,需要前端给后端返回某个信息,但是前端返回后页面报错:类型错误:未能在“XMLHttpRequest”上执行“setRequestHeader”:字符串包含非ISO-8859-1代码点。前端返回信息是放在请求头header中的,由于header中放入了中文所以就会出现编码格式问题。如何解决? 流程:前段进行编码,后端接收到后进行解码。1.前端Vue的编码://编码encodeURIComponent(str)//解码decodeURIComponent(str) 2.后端解码//编码java.net.URLEncoder.encode(token,"UTF-8")//解码java.

ios - 为什么套接字事件 "new message"调用多次?

我是第一次使用套接字。我在事件发生时从服务器收到消息socket.on("新消息")这是我正在做的步骤第1步:socket.connect()成功连接后我加入群组使用第2步:socket.emit("joinRoom",groupId,userId,message)然后使用第3步:socket.emit("sendmessage",groupId,userId,mobileNo,type,message)现在,一旦我发送完消息,服务器就会广播与我调用的消息相同的消息overridefuncviewDidAppear(animated:Bool){super.viewDidAppear(

ios - 是否可以使用 Firebase Cloud Messaging (FCM) 直接从设备向特殊 UDID 发送 PushNotifications?

我正在考虑将所有注册ID(推送token)保存在数据库中并从iPhone向用户发送通知。我尝试过类似的操作,但没有收到任何通知。funcsendPNMessage(){FIRMessaging.messaging().sendMessage(["body":"hey"],to:TOKEN_ID,withMessageID:"1",timeToLive:108)}我做错了什么或者根本不可能? 最佳答案 目前无法从应用程序本身发送消息。您可以从FirebaseWeb控制台或使用服务器端API从自定义服务器发送消息。您可能想要做的是联系服