std::basic_string 的推导指引

来自cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
 
定义于头文件 <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>;
(C++17 起)


std::basic_string 提供此推导指引,以允许从迭代器范围推导。此重载仅当InputIt 满足输入迭代器 (InputIterator) 且 Alloc 满足分配器 (Allocator) 才参与重载决议

[编辑] 示例

#include <string>
#include <vector>
int main() {
   std::vector<char> v = {'a', 'b', 'c'};
   std::basic_string s{v.begin(), v.end()}; // 使用显式推导指引
}