[ Web Proxy ]
URL:
Viewing: https://fr.cppreference.com/cpp/string/basic_string/deduction_guides [Back]  [Original]

deduction guides for std::basic_string cppreference.com
cppreference.com
Espaces de noms
Variantes

deduction guides for std::basic_string

De cppreference.com
 
 
Bibliothque de chanes de caractres
Chanes zro terminal
Original:
Null-terminated strings
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Les chanes d'octets
Chaines multi-octets
Les chanes tendues
Classes
Original:
Classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
basic_string
char_traits
 
std::basic_string
Les fonctions membres
Original:
Member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
basic_string::basic_string
basic_string::operator=
basic_string::assign
basic_string::get_allocator
Elment d'accs
Original:
Element access
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
basic_string::at
basic_string::operator[]
basic_string::front (C++11)
basic_string::back (C++11)
basic_string::data
basic_string::c_str
Les itrateurs
Original:
Iterators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
basic_string::begin
basic_string::cbegin

(C++11)
basic_string::end
basic_string::cend

(C++11)
basic_string::rbegin
basic_string::crbegin

(C++11)
basic_string::rend
basic_string::crend

(C++11)
Capacit
Original:
Capacity
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
basic_string::empty
basic_string::size
basic_string::length
basic_string::max_size
basic_string::reserve
basic_string::capacity
basic_string::shrink_to_fit (C++11)
Oprations
Original:
Operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
basic_string::clear
basic_string::insert
basic_string::erase
basic_string::push_back
basic_string::pop_back (C++11)
basic_string::append
basic_string::operator+=
basic_string::compare
basic_string::replace
basic_string::substr
basic_string::copy
basic_string::resize
basic_string::swap
Recherche
Original:
Search
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
basic_string::find
basic_string::rfind
basic_string::find_first_of
basic_string::find_first_not_of
basic_string::find_last_of
basic_string::find_last_not_of
Constantes
Original:
Constants
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
basic_string::npos
Tiers fonctions
Original:
Non-member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
operator+
operator==
operator!=
operator<
operator>
operator<=
operator>=
swap(std::basic_string)
operator<<
operator>>
getline
stoi
stol
stoll
(C++11)
(C++11)
(C++11)
stoul
stoull
(C++11)
(C++11)
stof
stod
stold
(C++11)
(C++11)
(C++11)
to_string (C++11)
to_wstring (C++11)
Classes d'aide
Original:
Helper classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
hash<std::string>
hash<std::wstring>
hash<std::u32string>
hash<std::u16string>
(C++11)
 
<tbody> </tbody>
Dclar dans l'en-tte <string>
template<class InputIt, class Alloc = std::allocator< typename std::iterator_traits<InputIt>::value_type>> basic_string(InputIt, InputIt, Alloc = Alloc()) -> basic_string<typename std::iterator_traits<InputIt>::value_type, std::char_traits<typename std::iterator_traits<InputIt>::value_type>, Alloc>;
(1)
template<class CharT, class Traits, class Alloc = std::allocator<CharT>> explicit basic_string(std::basic_string_view<CharT, Traits>, const Alloc& = Alloc()) -> basic_string<CharT, Traits, Alloc>;
(2)
template<class CharT, class Traits, class Alloc = std::allocator<CharT>>> basic_string(std::basic_string_view<CharT, Traits>, typename /*voir ci-dessous*/::size_type, typename /*voir ci-dessous*/::size_type, const Alloc& = Alloc()) -> basic_string<CharT, Traits, Alloc>;
(3)
1) Ce guide de dduction est fourni pour std::basic_string pour permettre la dduction depuis une srie dfinie par des itrateurs. Cette surcharge participe seulement dans la rsolution de surcharges si InputIt statisfait LegacyInputIterator et Alloc satisfait Allocator.
2-3) Ces guides de dductions sont fournis pour std::basic_string pour permettre la dduction depuis une std::basic_string_view. Le paramtre type size_type dans (3) fait rfrence au type membre size_type du type dduit par le guide de dduction. Ces surcharges participent seulement dans la rsolution de surcharges si Alloc satisfait Allocator.

Note: le point jusque o la bibliothque dtermine qu'un type ne satisfait pas LegacyInputIterator n'est pas spfici, hormis qu'au minimum les types intgrals ne sont pas qualifis d'itrateurs d'entre. De mme, le point jusque o elle dtermine qu'un type ne satisfait pas Allocator n'est pas spcifi, hormis qu'au minimum le type membre Alloc::value_type doit exister et l'expression std::declval<Alloc&>().allocate(std::size_t{}) doit tre bien-forme lorsque traite comme une oprande non-value.

Notes

Les guides (2-3) sont ncessaires puisque les constructeurs de std::basic_string pour std::basic_string_views sont des modles pour viter de causer des ambiguits dans le code existant, et ces modles ne permettent pas la dduction d'argument de modle de classe.

Rapports de dfauts

Ces rapports de dfauts ayant changs le comportement du language ont t appliqus rtroactivement aux standards C++ publis prcdement.

RD Appliqu Comportement tel que publi Comportement correct
LWG 3075 C++17 la dduction depuis basic_string_view n'tait pas possible (aggrav par le problme LWG 2946) guides de dduction ajouts

Exemple

#include <string>
#include <vector>
int main() {
   std::vector<char> v = {'a', 'b', 'c'};
   std::basic_string s(v.begin(), v.end()); // utilise les guides de dductions
}



Web Proxy Viewer  |  New URL  |  Original Page