Запитання з тегом «stdstring»

std :: string - це тип "рядка" на байтовій основі стандартної бібліотеки C ++, визначений у заголовку <string>.

16
Як конвертувати CString та std :: string std :: wstring один до одного?
CStringє досить зручним, хоча std::stringє більш сумісним із контейнером STL. Я використовую hash_map. Однак hash_mapне підтримує CStrings як клавіші, тому я хочу перетворити CStringa на std::string. Написання CStringхеш-функції займає багато часу. CString -----&gt; std::string Як я можу це зробити? std::string -----&gt; CString: inline CString toCString(std::string const&amp; str) { return CString(str.c_str()); …
78 c++  mfc  cstring  stdstring 

3
Як ефективно отримати `string_view` для підрядка` std :: string`
Використовуючи http://en.cppreference.com/w/cpp/string/basic_string_view як посилання, я не бачу способу зробити це більш елегантно: std::string s = "hello world!"; std::string_view v = s; v = v.substr(6, 5); // "world" Гірше того, що наївний підхід є підводним каменем і залишає vзвисаюче посилання на тимчасове: std::string s = "hello world!"; std::string_view v(s.substr(6, 5)); // …
78 c++  view  c++17  stdstring 

3
c ++ ціле число-> std :: перетворення рядків. Проста функція?
Проблема: у мене ціле число; це ціле число потрібно перетворити на тип stl :: string. Раніше я раніше stringstreamробив перетворення, і це просто трохи громіздко. Я знаю, що спосіб C - це зробити a sprintf, але я б набагато краще зробив метод C ++, який є типозахищеним (er). Чи є …
76 c++  integer  stdstring 

2
Чому `std :: string :: find ()` не повертає кінцевий ітератор під час відмов?
Я вважаю, що поведінка std::string::findсуперечить стандартним контейнерам C ++. Напр std::map&lt;int, int&gt; myMap = {{1, 2}}; auto it = myMap.find(10); // it == myMap.end() Але для струни, std::string myStr = "hello"; auto it = myStr.find('!'); // it == std::string::npos Чому замість цього не слід myStr.find('!')повернутись ?myStr.end()std::string::npos Оскільки std::stringдещо особливе порівняно …


1
Порівнюючи std :: string та літеральні рядки в стилі C
Припустимо, у мене є такий код: #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;iomanip&gt; using namespace std; // or std:: int main() { string s1{ "Apple" }; cout &lt;&lt; boolalpha; cout &lt;&lt; (s1 == "Apple") &lt;&lt; endl; //true } Моє запитання: як система перевіряє між цими двома? s1є об'єктом , а "Apple"являє …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.