草庐IT

char_bit

全部标签

c++ - new char[10] 和 new char(10) 有什么区别

在C++中,有什么区别char*a=newchar[10];和char*a=newchar(10);谢谢! 最佳答案 第一个分配10个字符的数组。第二个分配一个初始化为10的字符。或者:第一个应替换为std::vector,第二个应该放入智能指针中。 关于c++-newchar[10]和newchar(10)有什么区别,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3902011

c++ - new char[10] 和 new char(10) 有什么区别

在C++中,有什么区别char*a=newchar[10];和char*a=newchar(10);谢谢! 最佳答案 第一个分配10个字符的数组。第二个分配一个初始化为10的字符。或者:第一个应替换为std::vector,第二个应该放入智能指针中。 关于c++-newchar[10]和newchar(10)有什么区别,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3902011

c++ - const unsigned char * 到 std::string

sqlite3_column_text返回一个constunsignedchar*,如何将其转换为std::string?我试过std::string(),但我得到一个错误。代码:temp_doc.uuid=std::string(sqlite3_column_text(this->stmts.read_documents,0));错误:1>.\storage_manager.cpp(109):errorC2440:'':cannotconvertfrom'constunsignedchar*'to'std::string'1>Noconstructorcouldtakethesour

c++ - const unsigned char * 到 std::string

sqlite3_column_text返回一个constunsignedchar*,如何将其转换为std::string?我试过std::string(),但我得到一个错误。代码:temp_doc.uuid=std::string(sqlite3_column_text(this->stmts.read_documents,0));错误:1>.\storage_manager.cpp(109):errorC2440:'':cannotconvertfrom'constunsignedchar*'to'std::string'1>Noconstructorcouldtakethesour

c++ - 将int的所有字节都设置为(unsigned char)0,保证代表零?

Thisisnotamatterofrecommendedpractise(norundefinedbehavior),butaboutwhatthec++-standardactuallyguaranteesinthematterofturningallbytesofanintegertypetothevalueof(unsignedchar)0.问题在下面的片段中,if-statement使用的表达式保证在c++11中被评估为true?std::memset(reinterpret_cast(&a),//inta;(unsignedchar)0,sizeof(int));if(a=

c++ - 将int的所有字节都设置为(unsigned char)0,保证代表零?

Thisisnotamatterofrecommendedpractise(norundefinedbehavior),butaboutwhatthec++-standardactuallyguaranteesinthematterofturningallbytesofanintegertypetothevalueof(unsignedchar)0.问题在下面的片段中,if-statement使用的表达式保证在c++11中被评估为true?std::memset(reinterpret_cast(&a),//inta;(unsignedchar)0,sizeof(int));if(a=

c++ - 为什么 C 或 C++ 标准不明确将 char 定义为有符号或无符号?

intmain(){charc=0xff;boolb=0xff==c;//UndermostC/C++compilers'defaultoptions,bisFALSE!!!}C或C++标准都没有将char指定为有符号或无符号,它是实现定义的。为什么C/C++标准没有明确将char定义为有符号或无符号,以避免像上面的代码这样的危险误用? 最佳答案 主要是历史原因。char类型的表达式在大多数情况下都被提升为int(因为很多CPU没有8位算术运算)。在某些系统上,符号扩展是执行此操作的最有效方式,它主张使普通char签名。另一方面,E

c++ - 为什么 C 或 C++ 标准不明确将 char 定义为有符号或无符号?

intmain(){charc=0xff;boolb=0xff==c;//UndermostC/C++compilers'defaultoptions,bisFALSE!!!}C或C++标准都没有将char指定为有符号或无符号,它是实现定义的。为什么C/C++标准没有明确将char定义为有符号或无符号,以避免像上面的代码这样的危险误用? 最佳答案 主要是历史原因。char类型的表达式在大多数情况下都被提升为int(因为很多CPU没有8位算术运算)。在某些系统上,符号扩展是执行此操作的最有效方式,它主张使普通char签名。另一方面,E

c++ - 从 char* 初始化 std::string 而不复制

我有一种情况,我需要处理大量(许多GB)的数据:通过附加许多较小的(Cchar*)字符串来构建一个大字符串修剪字符串将字符串转换为C++conststd::string进行处理(只读)重复每次迭代的数据都是独立的。我的问题是,我想尽量减少(如果可能的话消除)堆分配的内存使用,因为它目前是我最大的性能问题。有没有办法将C字符串(char*)转换为STLC++字符串(std::string)而无需std::string在内部分配/复制数据?或者,我可以使用字符串流或类似的东西来重新使用大缓冲区吗?编辑:感谢您的回答,为了清楚起见,我认为修改后的问题是:如何有效地构建(通过多个附加)STLC

c++ - 从 char* 初始化 std::string 而不复制

我有一种情况,我需要处理大量(许多GB)的数据:通过附加许多较小的(Cchar*)字符串来构建一个大字符串修剪字符串将字符串转换为C++conststd::string进行处理(只读)重复每次迭代的数据都是独立的。我的问题是,我想尽量减少(如果可能的话消除)堆分配的内存使用,因为它目前是我最大的性能问题。有没有办法将C字符串(char*)转换为STLC++字符串(std::string)而无需std::string在内部分配/复制数据?或者,我可以使用字符串流或类似的东西来重新使用大缓冲区吗?编辑:感谢您的回答,为了清楚起见,我认为修改后的问题是:如何有效地构建(通过多个附加)STLC