Standard library changes in C++0x
C++0x will be released in the near future. Do you know the changes of standard library? Here is a list of changes that I've collected (minor behavior changes and changes related to concepts are not included).
1. New stuff
system_error:
new header
array, vector, deque, list, string, map, set, unordered_map, unordered_set:
new member function: cbegin, cend, crbegin, crend
vector, deque, string:
new member function: shrink_to_fit
map, unordered_map:
new member function: at
type_traits:
new traits:
is_lvalue_reference, is_rvalue_reference
has_trivial_default_constructor, has_trivial_copy_constructor, has_nothrow_default_constructor, has_nothrow_copy_constructor
string:
new type: u16string, u32string
new function:
stoi, stol, stoul, stoll, stoull, stof, stod, stold
to_string, to_wstring
algorithm:
new function:
all_of, any_of, none_of, find_if_not, copy_if, partition_copy, is_partitioned, partition_point
minmax_element
is_heap_until, is_heap
is_sorted_until, is_sorted
next,prev
min,max,minmax
copy_n
random:
new class: seed_seq and many new distributions
new function: generate_canonical
new type:
ranlux24_base, ranlux48_base, ranlux24, ranlux48, knuth_b
default_random_engine
For classes linear_congruential, subtract_with_carry, mersenne_twister, discard_block, xor_combine:
add ctor which accepts seed_seq, member function "seed" and the corresponding _engine class
memory:
new class: default_delete,unique_ptr
new function: allocate_shared,make_shared
functional:
new functor: bit_and, bit_or, bit_xor
numeric:
new function: iota
iomanip:
new function:
get_money, put_money
get_time, put_time
ios:
new function: defaultfloat
iosfwd:
new type: char_traits<char16_t>, char_traits<char32_t>
limits:
new member function: max_digits10, lowest
2. From tr1
array
unordered_map
unordered_set
regex
random
type_traits
tuple
functional
utility
get
ios
hexfloat
3. Other
set, map, unordered_map, unordered_set:
member function "erase" will have return value (compatible with sequential container)
string:
pop_back, front, back (compatible with vector)
bitset:
ctor: unsigned long -> unsigned long long
fstream:
ctor/open accept string & wstring as the type of filename (C++03 only supports raw string pointer)
Comments
Anonymous
June 02, 2009
PingBack from http://outdoorceilingfansite.info/story.php?id=55088Anonymous
July 06, 2009
How can I assign a value to a u16string ? u16string a = u"123"; //error...Anonymous
July 28, 2009
VC10 doesn't support unicode string literal. GCC 4.4 adds support for unicode string literal (http://gcc.gnu.org/gcc-4.4/cxx0x_status.html).