第20章 接口手册【C++】

网友投稿 269 2022-08-23

第20章 接口手册【C++】

第20章 接口手册

标准库名字和头文件

A

abort accumulate allocator array auto_ptr

B

back_inserter bad_alloc bad_array_new_length bad_cast begin bernoulli_distribution bind bitset boolalpha

C

cerr cin cmatch copy count count_if cout cref csub_match

D

dec default_float_engine default_random_engine deque domain_error

E

end endl ends equal_range exception

F

fill fill_n find find_end find_first_of find_if fixed flush for_each forward forward_list free front_inserter fstream function

G

get getline greater

H

hash hex hexfloat

I

ifstream initializer_list inserter internal ios_base isalpha islower isprint ispunct isspace istream istream_iterator istringstream isupper

L

left less less_equal list logic_error lower_bound lround

M

make_move_iterator make_pair make_shared make_tuple malloc map max max_element mem_fn min move multimap multiset

negate noboolalpha normal_distribution noshowbase noshowpoint noskipws not1 nothrow nothrow_t nounitbuf nouppercase nth_element

O

oct ofstream ostream ostream_iterator ostringstream out_of_range

P

pair partial_sort placeholders placeholders::_1 plus priority_queue ptrdiff_t

Q

queue

R

rand random_device range_error ref regex regex_constants regex_error regex_match regex_replace regex_search remove_pointer remove_reference replace replace_copy reverse_iterator right runtime_error

S

scientific set set_difference set_intersection set_union setfill setprecision setw shared_ptr showbase showpoint size_t skipws smatch sort sqrt sregex_iterator ssub_match stable_sort stack stoi strcmp strcpy string stringstream strlen strncpy strtod swap

T

terminate time tolower toupper transform tuple tuple_element tuple_size type_info

U

unexpected uniform_int_distribution uniform_real_distribution uninitialized_copy uninitialized_fill unique unique_copy unique_ptr unitbuf unordered_map unordered_multimap unordered_multiset unordered_set upper_bound uppercase

V

vector

W

weak_ptr

算法接口

在泛型编程中我们接触到了标准库中的算法,指示了解了算法的特性,并没有对其接口深入了解,下面是常见算法的使用方式及其接口

1、beg和end表示元素范围的迭代器,算法对一个由beg和end表示的序列进行操作 2、beg2,end2是表示第二个输入序列开始和末尾位置的迭代器如果没有end2则表示第二个序列和第一个序列长度相同。beg和beg2的类型可以不匹配,但需要保证对两个序列中的元素都可以执行特定操作或调用给定的可调用对象。 3、dest表示目的序列的迭代器。对于给定输入序列,算法需要生成多少元素,目的序列必须保证能保存相同多的元素。 4、unaryPred和binaryPred是一元和二元谓词,分别接收一个和两个参数,都是来自输入序列的元素,两个谓词都可以返回可作用条件的类型 5、comp是一个二元谓词,满足关联容器对关键字虚的要求 6、unaryOp和binaryOp是可调用对象,可分别适用来自输入序列的一个和两个实参来调用

查找对象的算法

每个算法都提供两个重载,一个版本适用相等运算符比较,第二版本适用提供的unaryPred和binaryPred比较元素

简单查找算法 find、find_if、find_if_not、count、count_if、all_of、any_of、none_of

查找重复值的算法 adjacent_find、search_n

查找子序列的算法 search、find_first_of、find_end

for_each、mismatch、equal

二分操作算法lower_bound、upper_bound、equal_range、binary_search

只写不读的算法fill、fill_n、generate、generate_n

使用输入迭代器的写算法copy、copy_if、copy_n、move、transform、replace_copy、replace_copy_if、merge

使用向前迭代器的写算法iter_swap、swap_ranges、replace、replace_if

使用双向迭代器的写算法copy_backward、move_backward、inplace_merge

划分与排序算法

对于序列中的元素进行排序,排序和划分算法都提供了多种策略,每个排序和划分算法都提供了稳定和不稳定的版本

划分算法is_partitioned、partition_copy、partition_point、stable_partition、partition

排序算法sort、stable_sort、is_sorted、is_sorted_until、partial_sort、partial_sort_copy、nth_element

使用前向迭代器的重排算法remove、remove_if、remove_copy、remove_copy_if、unique、unique_copy、rotate、rotate_copy

使用双向迭代器的重排算法reverse、reverse_copy

使用随机访问迭代器的重排算法random_shuffle、random_shuffle、shuffle

排列算法is_permutation、next_permutation、prev_permutation

有序序列的集合算法includes、set_union、set_intersection、set_difference、set_symmetric_difference

最小值和最大值min、max、minmax、min_element、max_element、minmax_element

字典序比较lexicographical_compare

数值算法accumulate、inner_product、partial_sum、adjacent_difference、iota

随机数分布

均匀分布uniform_int_distribution、uniform_real_distribution

伯努利分布bernoulli_distribution、geometric_distribution、negative_binomial_distribution

泊松分布poisson_distribution、exponential_distribution、gamma_distribution、weibull_distribution、extreme_value_distribution

正态分布normal_distribution、lognormal_distribution、chi_squared_distribution、cauchy_distribution、fisher_f_distribution、student_t_distribution

抽样分布discrete_distribution、piecewise_constant_distribution、piecewise_linear_distribution

随机数引擎default_random_engine、linear_congruential_engine、mersenne_twister_engine、subtract_with_carry_engine、discard_block_engine、independent_bits_engine、shuffle_order_engin

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:流量时代如何以“小而美”的内容营销取胜!
下一篇:VVC码率控制中的质量依赖因子QDF
相关文章

 发表评论

暂时没有评论,来抢沙发吧~