std::basic_stringstream::basic_stringstream - cppreference.com
De cppreference.com
</tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody>
| (1) | ||
|
|
(hasta C++11) | |
|
|
(desde C++11) | |
|
|
(2) | (desde C++11) |
|
|
(3) | |
|
|
(4) | (desde C++20) |
|
|
(5) | (desde C++20) |
|
|
(6) | (desde C++20) |
|
|
(7) | (desde C++20) |
|
|
(8) | (desde C++20) |
|
(9) | (desde C++26) |
|
|
(10) | (desde C++26) |
|
|
(11) | (desde C++26) |
|
|
(12) | (desde C++11) |
Construye un nuevo flujo de cadena.
Dados
base_typecomostd::basic_iostream<CharT, Traits>, ybuf_typecomostd::basic_stringbuf<CharT, Traits, Allocator>,
el std::basic_iostream base y el dato miembro solo para exposición sb se inicializan de la siguiente manera.
| Sobrecarga | std::basic_iostream base | sb
|
|---|---|---|
| (1) | base_type(std::addressof(sb))[1]
|
buf_type(mode)
|
| (2) | buf_type(std::ios_base::in | std::ios_base::out)
| |
| (3) | buf_type(str, mode)
| |
| (4) | buf_type(std::move(str), mode)
| |
| (5) | buf_type(mode, a)
| |
| (6) | buf_type(str, mode, a)
| |
| (7) | buf_type(str, std::ios_base::in | std::ios_base::out, a)
| |
| (8) | buf_type(str, mode)
| |
| (9) | std::addressof(sb)
|
{t, mode, Allocator()}
|
| (10) | {t, mode, a}
| |
| (11) | {t, std::ios_base::in | std::ios_base::out, a}
| |
| (12) | Construido por movimiento del std::basic_iostream base de other
|
Construido por movimiento de other.sb
|
- ↑ El std::basic_iostream base se inicializó con
base_type(&sb)(para las sobrecargas (1,3)) hasta C++11.
8) Esta sobrecarga solo participa en la resolución de sobrecargas si std::is_same_v<SAlloc, Allocator> es false.
9-11) Estas sobrecargas solo participan en la resolución de sobrecargas si std::is_convertible_v<const StringViewLike&, std::basic_string_view<CharT, Traits>> es true.
Parameters
| str | - | Cadena a usar como el contenido inicial del flujo de cadena. | ||||||||||||||||
| t | - | Un objeto (convertible a std::basic_string_view) para usar como el contenido inicial del flujo de cadena. | ||||||||||||||||
| a | - | Asignador de memoria usado para asignar el contenido del flujo de cadena. | ||||||||||||||||
| mode | - | Especifica el modo de apertura del flujo. Es un tipo TipoMáscaraDeBits, se definen las siguientes constantes:
| ||||||||||||||||
| other | - | Otro flujo de cadena a usar como fuente. |
Notas
La construcción de objetos basic_stringstream únicos en un bucle cerrado, como cuando se utiliza para la conversión de cadenas, puede ser significativamente más costosa que llamar a str() para reutilizar el mismo objeto.
| Macro de prueba de característica | |||
|---|---|---|---|
__cpp_lib_sstream_from_string_view |
202306L |
(C++26) | std::stringstream interactuando con std::string_view, (9-11) |
Ejemplo
#include <iostream> #include <sstream> int main() { // constructor por defecto (flujo de entrada/salida) std::stringstream buf1; buf1 << 7; int n = 0; buf1 >> n; std::cout << "buf1 = " << buf1.str() << " n = " << n << '\n'; // flujo de entrada std::istringstream inbuf("-10"); inbuf >> n; std::cout << "n = " << n << '\n'; // flujo de salida en modo anexar (C++11) std::ostringstream buf2("prueba", std::ios_base::ate); buf2 << '1'; std::cout << buf2.str() << '\n'; }
Salida:
buf1 = 7 n = 7 n = -10 prueba1
Informes de defectos
Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.
| ID | Aplicado a | Comportamiento según lo publicado | Comportamiento correcto |
|---|---|---|---|
| P0935R0 | C++11 | El constructor por defecto era explicit.
|
Se hizo implícito. |
Véase también
obtiene o establece el contenido del objeto subyacente dispositivo cadena Original: gets or sets the contents of underlying string device object The text has been machine-translated via Google Translate. (función miembro pública) [editar] | |
Construye un objeto basic_stringbuf. (función miembro pública de std::basic_stringbuf) [editar]
|