std::basic_stringstream<CharT,Traits,Allocator>:: str
| (1) | ||
|
std::
basic_string
<
CharT, Traits, Allocator
>
str
(
)
const
;
|
(до C++20) | |
|
std::
basic_string
<
CharT, Traits, Allocator
>
str
(
)
const
&
;
|
(начиная с C++20) | |
|
template
<
class
SAlloc
>
std:: basic_string < CharT, Traits, SAlloc > str ( const SAlloc & a ) const ; |
(2) | (начиная с C++20) |
|
std::
basic_string
<
CharT, Traits, Allocator
>
str
(
)
&&
;
|
(3) | (начиная с C++20) |
|
void
str
(
const
std::
basic_string
<
CharT, Traits, Allocator
>
&
s
)
;
|
(4) | |
|
template
<
class
SAlloc
>
void str ( const std:: basic_string < CharT, Traits, SAlloc > & s ) ; |
(5) | (начиная с C++20) |
|
void
str
(
std::
basic_string
<
CharT, Traits, Allocator
>
&&
s
)
;
|
(6) | (начиная с C++20) |
|
template
<
class
StringViewLike
>
void str ( const StringViewLike & t ) ; |
(7) | (начиная с C++26) |
Управляет содержимым базового строкового объекта.
Содержание |
Параметры
| s | - | новое содержимое базовой строки |
| t | - | объект (преобразуемый в std::basic_string_view ), используемый как новое содержимое базовой строки |
| a | - | аллокатор, используемый для конструирования возвращаемой строки |
Возвращаемое значение
Примечания
Копия базовой строки, возвращаемая методом
str
, является временным объектом, который будет уничтожен в конце выражения, поэтому прямое обращение к
c_str()
на результате вызова
str
(
)
(например, в
auto
*
ptr
=
out.
str
(
)
.
c_str
(
)
;
) приводит к появлению висячего указателя.
| Feature-test macro | Value | Std | Feature |
|---|---|---|---|
__cpp_lib_sstream_from_string_view
|
202306L
|
(C++26) | Интерфейсирование std::stringstream с std::string_view , ( 7 ) |
Пример
#include <iostream> #include <sstream> int main() { int n; std::istringstream in; // could also use in("1 2") in.str("1 2"); in >> n; std::cout << "After reading the first int from \"1 2\", the int is " << n << ", str() = \"" << in.str() << "\"\n"; std::ostringstream out("1 2"); out << 3; std::cout << "After writing the int '3' to output stream \"1 2\"" << ", str() = \"" << out.str() << "\"\n"; std::ostringstream ate("1 2", std::ios_base::ate); ate << 3; std::cout << "After writing the int '3' to append stream \"1 2\"" << ", str() = \"" << ate.str() << "\"\n"; }
Вывод:
After reading the first int from "1 2", the int is 1, str() = "1 2" After writing the int '3' to output stream "1 2", str() = "3 2" After writing the int '3' to append stream "1 2", str() = "1 23"
Смотрите также
|
возвращает базовый объект строкового устройства
(публичная функция-член) |
|
|
заменяет или получает копию связанной строки символов
(публичная функция-член
std::basic_stringbuf<CharT,Traits,Allocator>
)
|