日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++ memory 头文件详细介绍

發布時間:2023/12/13 c/c++ 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++ memory 头文件详细介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

指針特征

pointer_traits

(C++11)

提供關于指針式類型的信息
(類模板)

垃圾收集器支持

pointer_safety

(C++11)

列出指針安全模式
(枚舉)

分配器

allocator

默認的分配器
(類模板)

allocator_traits

(C++11)

提供關于分配器類型的信息
(類模板)

allocator_arg_t

(C++11)

標簽類型,用于選擇具分配器的構造函數重載
(類)

allocator_arg

(C++11)

用于選擇具分配器的構造函數的?std::allocator_arg_t?對象
(常量)

uses_allocator

(C++11)

檢查指定的類型是否支持使用分配器的構造
(類模板)

未初始化存儲

raw_storage_iterator

(C++17 中棄用)(C++20 中移除)

允許標準算法存儲結果于未初始化內存的迭代器
(類模板)

智能指針

unique_ptr

(C++11)

擁有獨有對象所有權語義的智能指針
(類模板)

shared_ptr

(C++11)

擁有共享對象所有權語義的智能指針
(類模板)

weak_ptr

(C++11)

到?std::shared_ptr?所管理對象的弱引用
(類模板)

auto_ptr

(C++17 中移除)

擁有嚴格對象所有權語義的智能指針
(類模板)

輔助類

std::atomic<std::shared_ptr>

(C++20)

原子共享指針
(類模板特化)

std::atomic<std::weak_ptr>

(C++20)

原子弱指針
(類模板特化)

owner_less

(C++11)

提供基于所有者的,共享指針和弱指針的混合類型的排序
(類模板)

enable_shared_from_this

(C++11)

允許對象創建指代自身的?shared_ptr
(類模板)

bad_weak_ptr

(C++11)

訪問指向已銷毀對象的?weak_ptr?時拋出的異常
(類)

default_delete

(C++11)

unique_ptr?的默認刪除器
(類模板)

std::hash<std::unique_ptr>

(C++11)

std::unique_ptr?的散列支持
(類模板特化)

std::hash<std::shared_ptr>

(C++11)

std::shared_ptr?的散列支持
(類模板特化)

函數

雜項

to_address

(C++20)

從指針式類型獲得裸指針
(函數模板)

addressof

(C++11)

獲得對象的實際地址,即使其重載了?&?運算符
(函數模板)

align

(C++11)

對齊緩沖區中的指針
(函數)

assume_aligned

(C++20)

告知編譯器指針已對齊
(函數模板)

垃圾收集器支持

declare_reachable

(C++11)

聲明一個對象不能被回收
(函數)

undeclare_reachable

(C++11)

聲明一個對象可以被回收
(函數模板)

declare_no_pointers

(C++11)

聲明該內存區域不含可追蹤指針
(函數)

undeclare_no_pointers

(C++11)

取消?std::declare_no_pointers?的效果
(函數)

get_pointer_safety

(C++11)

返回當前的指針安全模式
(函數)

未初始化存儲

uninitialized_copy

將范圍內的對象復制到未初始化的內存區域
(函數模板)

uninitialized_copy_n

(C++11)

將指定數量的對象復制到未初始化的內存區域
(函數模板)

uninitialized_fill

復制一個對象到以范圍定義的未初始化內存區域
(函數模板)

uninitialized_fill_n

復制一個對象到以起點和計數定義的未初始化內存區域
(函數模板)

uninitialized_move

(C++17)

移動一個范圍的對象到未初始化的內存區域
(函數模板)

uninitialized_move_n

(C++17)

移動一定數量對象到未初始化內存區域
(函數模板)

uninitialized_default_construct

(C++17)

在范圍所定義的未初始化的內存區域以默認初始化構造對象
(函數模板)

uninitialized_default_construct_n

(C++17)

在起始和計數所定義的未初始化內存區域用默認初始化構造對象
(函數模板)

uninitialized_value_construct

(C++17)

在范圍所定義的未初始化內存中用值初始化構造對象
(函數模板)

uninitialized_value_construct_n

(C++17)

在起始和計數所定義的未初始化內存區域以值初始化構造對象
(函數模板)

destroy_at

(C++17)

銷毀在給定地址的對象
(函數模板)

destroy

(C++17)

銷毀一個范圍中的對象
(函數模板)

destroy_n

(C++17)

銷毀范圍中一定數量的對象
(函數模板)

get_temporary_buffer

(C++17 中棄用)(C++20 中移除)

獲得未初始化存儲
(函數模板)

return_temporary_buffer

(C++17 中棄用)(C++20 中移除)

釋放未初始化存儲
(函數模板)

智能指針非成員操作

make_uniquemake_unique_for_overwrite

(C++14)(C++20)

創建管理一個新對象的獨占指針
(函數模板)

operator==operator!=operator<operator<=operator>operator>=operator<=>

(C++20 中移除)(C++20)

與另一個?unique_ptr?或?nullptr?進行比較
(函數模板)

make_sharedmake_shared_for_overwrite

(C++20)

創建管理一個新對象的共享指針
(函數模板)

allocate_sharedallocate_shared_for_overwrite

(C++20)

創建管理一個用分配器分配的新對象的共享指針
(函數模板)

static_pointer_castdynamic_pointer_castconst_pointer_castreinterpret_pointer_cast

(C++17)

應用?static_cast、dynamic_cast、const_cast?或?reinterpret_cast?到被存儲指針
(函數模板)

get_deleter

返回指定類型中的刪除器,若其擁有
(函數模板)

operator==operator!=operator<operator<=operator>operator>=operator<=>

(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20)

與另一個?shared_ptr?或?nullptr?進行比較
(函數模板)

operator<<

將存儲的指針的值輸出到輸出流
(函數模板)

std::swap(std::unique_ptr)

(C++11)

特化?std::swap?算法
(函數模板)

std::swap(std::weak_ptr)

(C++11)

特化?std::swap?算法
(函數模板)

std::swap(std::shared_ptr)

(C++11)

特化?std::swap?算法
(函數模板)

Niebloid

定義于命名空間?std::ranges

未初始化存儲

ranges::uninitialized_copy

(C++20)

復制元素范圍到未初始化的內存區域
(niebloid)

ranges::uninitialized_copy_n

(C++20)

復制一定量元素到未初始化的內存區域
(niebloid)

ranges::uninitialized_fill

(C++20)

復制一個對象到范圍所定義的未初始化的內存區域
(niebloid)

ranges::uninitialized_fill_n

(C++20)

復制一個對象到起始與計數所定義的未初始化的內存區域
(niebloid)

ranges::uninitialized_move

(C++20)

移動對象范圍到未初始化的內存區域
(niebloid)

ranges::uninitialized_move_n

(C++20)

移動一定量對象到未初始化的內存區域
(niebloid)

ranges::uninitialized_default_construct

(C++20)

在范圍所定義的未初始化的內存區域以默認初始化構造對象
(niebloid)

ranges::uninitialized_default_construct_n

(C++20)

在起始與計數所定義的未初始化的內存區域以默認初始化構造對象
(niebloid)

ranges::uninitialized_value_construct

(C++20)

在范圍所定義的未初始化的內存區域以值初始化構造對象
(niebloid)

ranges::uninitialized_value_construct_n

(C++20)

在起始與計數所定義的未初始化的內存區域以值初始化構造對象
(niebloid)

ranges::destroy_at

(C++20)

銷毀位于給定地址的元素
(niebloid)

ranges::destroy

(C++20)

銷毀范圍中的元素
(niebloid)

ranges::destroy_n

(C++20)

銷毀范圍中一定量的元素
(niebloid)

參考鏈接

  • https://zh.cppreference.com/w/cpp/header/memory

總結

以上是生活随笔為你收集整理的c++ memory 头文件详细介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。