std::basic_ostringstream<CharT,Traits,Allocator>:: basic_ostringstream
| (1) | ||
|
explicit
basic_ostringstream
(
std::
ios_base
::
openmode
mode
=
std:: ios_base :: out ) ; |
(hasta C++11) | |
|
explicit
basic_ostringstream
(
std::
ios_base
::
openmode
mode
)
;
|
(desde C++11) | |
|
basic_ostringstream
(
)
: basic_ostringstream ( std:: ios_base :: out ) { } |
(2) | (desde C++11) |
|
explicit
basic_ostringstream
(
const
std::
basic_string
<
CharT, Traits, Allocator
>
&
str,
|
(3) | |
|
explicit
basic_ostringstream
(
std::
basic_string
<
CharT, Traits, Allocator
>
&&
str,
|
(4) | (desde C++20) |
|
basic_ostringstream
(
std::
ios_base
::
openmode
modo,
const
Allocator
&
a
)
;
|
(5) | (desde C++20) |
|
template
<
class
SAlloc
>
basic_ostringstream
(
const
std::
basic_string
<
CharT, Traits, SAlloc
>
&
str,
|
(6) | (desde C++20) |
|
template
<
class
SAlloc
>
basic_ostringstream
(
const
std::
basic_string
<
CharT, Traits, SAlloc
>
&
str,
|
(7) | (desde C++20) |
|
template
<
class
SAlloc
>
explicit
basic_ostringstream
|
(8) | (desde C++20) |
|
template
<
class
StringViewLike
>
explicit
basic_ostringstream
|
(9) | (desde C++26) |
|
template
<
class
StringViewLike
>
basic_ostringstream
(
const
StringViewLike
&
t,
|
(10) | (desde C++26) |
|
template
<
class
StringViewLike
>
basic_ostringstream ( const StringViewLike & t, const Allocator & a ) ; |
(11) | (desde C++26) |
|
basic_ostringstream
(
basic_ostringstream
&&
other
)
;
|
(12) | (desde C++11) |
Construye un nuevo flujo de cadena.
Dado
-
base_typecomo std:: basic_ostream < CharT, Traits > , y -
buf_typecomo std:: basic_stringbuf < CharT, Traits, Allocator > ,
la
std::basic_ostream
base y el
miembro de datos solo para exposición
sb
se inicializan de la siguiente manera.
|
Sobrecarga
(Overload) |
std::basic_ostream base |
sb
|
|---|---|---|
| (1) | base_type ( std:: addressof ( sb ) ) [1] | buf_type ( mode | std:: ios_base :: out ) |
| (2) | buf_type ( std:: ios_base :: out ) | |
| (3) | buf_type ( str, mode | std:: ios_base :: out ) | |
| (4) | buf_type ( std :: move ( str ) , mode | std:: ios_base :: out ) | |
| (5) | buf_type ( mode | std:: ios_base :: out , a ) | |
| (6) | buf_type ( str, mode | std:: ios_base :: out , a ) | |
| (7) | buf_type ( str, std:: ios_base :: out , a ) | |
| (8) | buf_type ( str, mode | std:: ios_base :: out ) | |
| (9) | std:: addressof ( sb ) | { t, mode | std:: ios_base :: out , Allocator ( ) } |
| (10) | { t, mode | std:: ios_base :: out , a } | |
| (11) | { t, std:: ios_base :: out , a } | |
| (12) | construido por movimiento desde la other 's std::basic_ostream base | construido por movimiento desde other. sb |
- ↑ La std::basic_iostream base se inicializaba con base_type ( & sb ) (para las sobrecargas (1,3) ) hasta C++11.
Contenidos |
Parámetros
| str | - | cadena a utilizar como contenido inicial del flujo de cadena | ||||||||||||||||
| t | - | un objeto (convertible a std::basic_string_view ) a utilizar como contenido inicial del flujo de cadena | ||||||||||||||||
| a | - | asignador utilizado para asignar el contenido del flujo de cadena | ||||||||||||||||
| mode | - |
especifica el modo de apertura del flujo. Es un
BitmaskType
, las siguientes constantes están definidas:
|
||||||||||||||||
| other | - | otro flujo de cadena a utilizar como fuente |
Notas
La construcción de objetos
basic_ostringstream
únicos en un bucle estrecho, como cuando se utilizan para conversión de cadenas, puede ser significativamente más costosa que llamar a
str()
para reutilizar el mismo objeto.
| Macro de prueba de características | Valor | Estándar | Característica |
|---|---|---|---|
__cpp_lib_sstream_from_string_view
|
202306L
|
(C++26) | Interconexión de std::stringstream 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 append (C++11) std::ostringstream buf2("test", std::ios_base::ate); buf2 << '1'; std::cout << buf2.str() << '\n'; }
Salida:
buf1 = 7 n = 7 n = -10 test1
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| P0935R0 | C++11 | el constructor por defecto era explícito | hecho implícito |
Véase también
|
obtiene o establece el contenido del objeto de dispositivo de cadena subyacente
(función miembro pública) |
|
construye un objeto
basic_stringbuf
(función miembro pública de
std::basic_stringbuf<CharT,Traits,Allocator>
)
|