المتغيرات
فضاءات التسمية
أفعال

std::{{{1}}}::insert_or_assign

من cppreference.com
template <class M>
pair<iterator, bool> insert_or_assign(const key_type& k, M&& obj);
(1) قالب:mark since c++17
template <class M>
pair<iterator, bool> insert_or_assign(key_type&& k, M&& obj);
(2) قالب:mark since c++17
template <class M>
iterator insert_or_assign(const_iterator hint, const key_type& k, M&& obj);
(3) قالب:mark since c++17
template <class M>
iterator insert_or_assign(const_iterator hint, key_type&& k, M&& obj);
(4) قالب:mark since c++17
1,3) If the key ‎k‎ already exists in the container, assigns std::forward<M>(obj) to the ‎mapped_type‎ corresponding to the key ‎k‎. If the key does not exist, inserts the new value as if by insert, constructing it from value_type(k, std::forward<M>(obj))
2,4) Same as قالب:v, except the mapped value is constructed from value_type(std::move(k), std::forward<M>(obj))

Information on iterator invalidation is copied from here

محتويات

[تعديل] Parameters

k - the key used both to look up and to insert if not found
hint - iterator to the position before which the new element will be inserted
args - arguments to forward to the constructor of the element

[تعديل] Return value

1,2) The bool component is true if the insertion took place and false if the assignment took place. The iterator component is pointing at the element that was inserted or updated
3,4) Iterator pointing at the element that was inserted or updated

[تعديل] Complexity

1,2) Same as for emplace
3,4) Same as for emplace_hint

[تعديل] Notes

‎insert_or_assign‎ returns more information than ‎operator[]‎ and does not require default-constructibility of the mapped type.

[تعديل] Example

[تعديل] See also

قالب:dsc mem funقالب:dsc mem funقالب:dsc mem funقالب:dsc mem fun