C++ åèæå
- C++11
- C++14
- C++17
- C++20
- C++ ç¼è¯å¨æ¯ææ åµè¡¨
- ç¬ç«ä¸å®¿ä¸»å®ç°
- C++ è¯è¨
- C++ å ³é®è¯
- é¢å¤çå¨
- C++ æ ååºå¤´æä»¶
- æ ååºå¤´æä»¶ <ctime>
- æ ååºå¤´æä»¶ <cstring>
- æ ååºå¤´æä»¶ <set>
- æ ååºå¤´æä»¶ <cctype>
- æ ååºå¤´æä»¶ <cwctype>
- æ ååºå¤´æä»¶ <utility>
- æ ååºå¤´æä»¶ <queue>
- æ ååºå¤´æä»¶ <complex>
- æ ååºå¤´æä»¶ <iterator>
- æ ååºå¤´æä»¶ <algorithm>
- æ ååºå¤´æä»¶ <valarray>
- æ ååºå¤´æä»¶ <numeric>
- æ ååºå¤´æä»¶ <cmath>
- æ ååºå¤´æä»¶ <iosfwd>
- æ ååºå¤´æä»¶ <ios>
- æ ååºå¤´æä»¶ <iomanip>
- æ ååºå¤´æä»¶ <streambuf>
- æ ååºå¤´æä»¶ <istream>
- æ ååºå¤´æä»¶ <ostream>
- æ ååºå¤´æä»¶ <iostream>
- æ ååºå¤´æä»¶ <sstream>
- æ ååºå¤´æä»¶ <clocale>
- æ ååºå¤´æä»¶ <vector>
- æ ååºå¤´æä»¶ <deque>
- æ ååºå¤´æä»¶ <list>
- æ ååºå¤´æä»¶ <map>
- æ ååºå¤´æä»¶ <cwchar>
- æ ååºå¤´æä»¶ <locale>
- æ ååºå¤´æä»¶ <codecvt>
- æ ååºå¤´æä»¶ <bitset>
- æ ååºå¤´æä»¶ <functional>
- æ ååºå¤´æä»¶ <stdexcept>
- æ ååºå¤´æä»¶ <csignal>
- æ ååºå¤´æä»¶ <csetjmp>
- æ ååºå¤´æä»¶ <stack>
- æ ååºå¤´æä»¶ <cassert>
- æ ååºå¤´æä»¶ <cerrno>
- æ ååºå¤´æä»¶ <memory>
- æ ååºå¤´æä»¶ <typeindex>
- æ ååºå¤´æä»¶ <type_traits>
- æ ååºå¤´æä»¶ <chrono>
- æ ååºå¤´æä»¶ <initializer_list>
- æ ååºå¤´æä»¶ <tuple>
- æ ååºå¤´æä»¶ <scoped_allocator>
- æ ååºå¤´æä»¶ <cstdint>
- æ ååºå¤´æä»¶ <cinttypes>
- æ ååºå¤´æä»¶ <system_error>
- æ ååºå¤´æä»¶ <cuchar>
- æ ååºå¤´æä»¶ <array>
- æ ååºå¤´æä»¶ <forward_list>
- æ ååºå¤´æä»¶ <unordered_set>
- æ ååºå¤´æä»¶ <unordered_map>
- æ ååºå¤´æä»¶ <random>
- æ ååºå¤´æä»¶ <ratio>
- æ ååºå¤´æä»¶ <cfenv>
- æ ååºå¤´æä»¶ <regex>
- æ ååºå¤´æä»¶ <atomic>
- æ ååºå¤´æä»¶ <thread>
- æ ååºå¤´æä»¶ <mutex>
- æ ååºå¤´æä»¶ <future>
- æ ååºå¤´æä»¶ <condition_variable>
- æ ååºå¤´æä»¶ <any>
- æ ååºå¤´æä»¶ <optional>
- æ ååºå¤´æä»¶ <variant>
- æ ååºå¤´æä»¶ <memory_resource>
- æ ååºå¤´æä»¶ <string_view>
- æ ååºå¤´æä»¶ <charconv>
- æ ååºå¤´æä»¶ <execution>
- æ ååºå¤´æä»¶ <filesystem>
- æ ååºå¤´æä»¶ <concepts>
- æ ååºå¤´æä»¶ <coroutine>
- æ ååºå¤´æä»¶ <compare>
- æ ååºå¤´æä»¶ <version>
- æ ååºå¤´æä»¶ <source_location>
- æ ååºå¤´æä»¶ <format>
- æ ååºå¤´æä»¶ <span>
- æ ååºå¤´æä»¶ <ranges>
- æ ååºå¤´æä»¶ <bit>
- æ ååºå¤´æä»¶ <numbers>
- æ ååºå¤´æä»¶ <syncstream>
- æ ååºå¤´æä»¶ <stop_token>
- æ ååºå¤´æä»¶ <semaphore>
- æ ååºå¤´æä»¶ <latch>
- æ ååºå¤´æä»¶ <barrier>
- æ ååºå¤´æä»¶ <string>
- æ ååºå¤´æä»¶ <cstddef>
- æ ååºå¤´æä»¶ <limits>
- æ ååºå¤´æä»¶ <cfloat>
- æ ååºå¤´æä»¶ <climits>
- æ ååºå¤´æä»¶ <cstdlib>
- æ ååºå¤´æä»¶ <new>
- æ ååºå¤´æä»¶ <typeinfo>
- æ ååºå¤´æä»¶ <exception>
- æ ååºå¤´æä»¶ <cstdarg>
- æ ååºå¤´æä»¶ <ciso646>
- æ ååºå¤´æä»¶ <cstdalign>
- æ ååºå¤´æä»¶ <cstdbool>
- æ ååºå¤´æä»¶ <fstream>
- æ ååºå¤´æä»¶ <cstdio>
- æ ååºå¤´æä»¶ <strstream>
- æ ååºå¤´æä»¶ <shared_mutex>
- æ ååºå¤´æä»¶ <ccomplex>
- æ ååºå¤´æä»¶ <ctgmath>
- 注é
- å ·åè¦æ±
- åè½ç¹æ§æµè¯ (C++20)
- å·¥å ·åº
- ç±»åæ¯æï¼åºæ¬ç±»åãRTTIãç±»åç¹æ§ï¼
- æ¦å¿µåº (C++20)
- é误å¤ç
- 卿å å管ç
- æ¥æåæ¶é´å·¥å ·
- å符串åº
- 容å¨åº
- è¿ä»£å¨åº
- èå´åº (C++20)
- ç®æ³åº
- æ°å¼åº
- è¾å ¥/è¾åºåº
- æä»¶ç³»ç»åº
- æ¬å°ååº
- æ£å表达å¼åº
- ååæä½åº
- çº¿ç¨æ¯æåº
- å®éªæ§ C++ ç¹æ§
- æç¨çèµæº
- ç´¢å¼
- std 符å·ç´¢å¼
- åç¨æ¯æ (C++20)
- C++ å ³é®è¯
ä½ç½®ï¼é¦é¡µ > C++ åèæå >C++ æ ååºå¤´æä»¶ > æ ååºå¤´æä»¶ <random>
æ ååºå¤´æä»¶ <random>
æ¤å¤´æä»¶æ¯ä¼ªéæºæ°çæåºçä¸é¨åã
ååéæºä½çæå¨è¦æ± | |
| (C++20) |
æå®ç±»åå
·å¤ä½ä¸ºååéæºä½çæå¨çèµæ ¼ (æ¦å¿µ) |
éæºæ°å¼æ | |
| (C++11) |
å®ç°çº¿æ§åä½ç®æ³ (类模æ¿) |
| (C++11) |
å®ç°æ¢
æ£®ç¼ ç»å¨ç®æ³ (类模æ¿) |
| (C++11) |
å®ç°å¸¦è¿ä½åï¼ä¸ç§å»¶è¿ææ³¢é£å¥ï¼ç®æ³ (类模æ¿) |
éæºæ°å¼æéé å¨ | |
| (C++11) |
èå¼éæºæ°å¼æçæäºè¾åº (类模æ¿) |
| (C++11) |
å°ä¸ä¸ªéæºæ°å¼æçè¾åºæå
为æå®ä½æ°çå (类模æ¿) |
| (C++11) |
以ä¸å顺åºåéä¸ä¸ªéæºæ°å¼æçè¾åº (类模æ¿) |
é¢å®ä¹çæå¨ | |
minstd_rand0(C++11)
|
std::linear_congruential_engine<std::uint_fast32_t, 16807, 0, 2147483647> ç± LewisãGoodman å Miller åç°äº 1969ï¼ç± Park ä¸ Miller äº 1988 é纳为âæå°æ åâ |
minstd_rand(C++11)
|
std::linear_congruential_engine<std::uint_fast32_t, 48271, 0, 2147483647> è¾æ°çâæå°æ åâï¼ä¸º Parkã Miller å Stockmeyer äº 1993 æ¨è |
mt19937(C++11)
|
std::mersenne_twister_engine<std::uint_fast32_t, 32, 624, 397, 31, |
mt19937_64(C++11)
|
std::mersenne_twister_engine<std::uint_fast64_t, 64, 312, 156, 31, |
ranlux24_base(C++11)
|
std::subtract_with_carry_engine<std::uint_fast32_t, 24, 10, 24> |
ranlux48_base(C++11)
|
std::subtract_with_carry_engine<std::uint_fast64_t, 48, 5, 12> |
ranlux24(C++11)
|
std::discard_block_engine<std::ranlux24_base, 223, 23> 24 ä½ RANLUX çæå¨ï¼ç± Martin Lüscher ä¸ Fred James è®¾è®¡äº 1994 |
ranlux48(C++11)
|
std::discard_block_engine<std::ranlux48_base, 389, 11> 48 ä½ RANLUX çæå¨ï¼ç± Martin Lüscher ä¸ Fred James è®¾è®¡äº 1994 |
knuth_b(C++11)
|
std::shuffle_order_engine<std::minstd_rand0, 256> |
default_random_engine
|
å®ç°å®ä¹ |
éç¡®å®éæºæ° | |
| (C++11) |
使ç¨ç¡¬ä»¶çµæºçéç¡®å®éæºæ°çæå¨ (ç±») |
åååå¸ | |
| (C++11) |
产çå¨ä¸ä¸ªèå´ä¸åååå¸çæ´æ°å¼ (类模æ¿) |
| (C++11) |
产çå¨ä¸ä¸ªèå´ä¸åååå¸ç宿°å¼ (类模æ¿) |
伯åªå©åå¸ | |
| (C++11) |
产ç伯åªå©åå¸ä¸ç bool å¼ã (ç±») |
| (C++11) |
产çäºé¡¹åå¸ä¸çæ´æ°å¼ã (类模æ¿) |
| 产çè´äºé¡¹åå¸ä¸çæ´æ°å¼ã (类模æ¿) | |
| (C++11) |
产çå ä½åå¸ä¸çæ´æ°å¼ã (类模æ¿) |
æ³æ¾åå¸ | |
| (C++11) |
äº§çæ³æ¾åå¸ä¸çæ´æ°å¼ã (类模æ¿) |
| (C++11) |
äº§çææ°åå¸ä¸ç宿°å¼ã (类模æ¿) |
| (C++11) |
产ç Î åå¸ä¸ç宿°å¼ (类模æ¿) |
| (C++11) |
产çå¨å¸å°åå¸ä¸ç宿°å¼ã (类模æ¿) |
| (C++11) |
产çæå¼åå¸ä¸ç宿°å¼ã (类模æ¿) |
æ£æåå¸ | |
| (C++11) |
äº§çæ åæ£æï¼é«æ¯ï¼åå¸ä¸ç宿°å¼ã (类模æ¿) |
| (C++11) |
产çå¯¹æ°æ£æåå¸ä¸ç宿°å¼ã (类模æ¿) |
| (C++11) |
产ç Ï2 åå¸ä¸ä¸ç宿°å¼ã (类模æ¿) |
| (C++11) |
äº§çæ¯è¥¿åå¸ä¸ç宿°å¼ã (类模æ¿) |
| (C++11) |
产çè´¹èå° F åå¸ä¸ç宿°å¼ã (类模æ¿) |
| (C++11) |
产çå¦ç t åå¸ä¸ç宿°å¼ã (类模æ¿) |
éæ ·åå¸ | |
| (C++11) |
产ç离æ£åå¸ä¸çéæºæ´æ°ã (类模æ¿) |
| 产çåå¸å¨å¸¸ååºé´ä¸ç宿°å¼ã (类模æ¿) | |
| 产çåå¸å¨å®ä¹çååºé´ä¸ç宿°å¼ã (类模æ¿) | |
å·¥å · | |
| (C++11) |
ç»å®ç²¾åº¦çåååå¸å¨ [0, 1) ä¸ç宿°å¼ (彿°æ¨¡æ¿) |
| (C++11) |
éç¨çæ¶é¤åå·®çæ··æ·ç§ååºåçæå¨ (ç±») |
æ¦è¦
#include <initializer_list> namespace std { // ååéæºä½çæå¨è¦æ± template<class G> concept uniform_random_bit_generator = /* è§ä¸æ */;  // ç±»æ¨¡æ¿ linear_congruential_engine template<class UIntType, UIntType a, UIntType c, UIntType m> class linear_congruential_engine; // ç±»æ¨¡æ¿ mersenne_twister_engine template<class UIntType, size_t w, size_t n, size_t m, size_t r, UIntType a, size_t u, UIntType d, size_t s, UIntType b, size_t t, UIntType c, size_t l, UIntType f> class mersenne_twister_engine; // ç±»æ¨¡æ¿ subtract_with_carry_engine template<class UIntType, size_t w, size_t s, size_t r> class subtract_with_carry_engine; // ç±»æ¨¡æ¿ discard_block_engine template<class Engine, size_t p, size_t r> class discard_block_engine; // ç±»æ¨¡æ¿ independent_bits_engine template<class Engine, size_t w, class UIntType> class independent_bits_engine; // ç±»æ¨¡æ¿ shuffle_order_engine template<class Engine, size_t k> class shuffle_order_engine; // 带é¢å®ä¹åæ°ç弿å弿éé å¨ using minstd_rand0 = /* è§è¯´æ */ ; using minstd_rand = /* è§è¯´æ */ ; using mt19937 = /* è§è¯´æ */ ; using mt19937_64 = /* è§è¯´æ */ ; using ranlux24_base = /* è§è¯´æ */ ; using ranlux48_base = /* è§è¯´æ */ ; using ranlux24 = /* è§è¯´æ */ ; using ranlux48 = /* è§è¯´æ */ ; using knuth_b = /* è§è¯´æ */ ; using default_random_engine = /* è§è¯´æ */ ; // ç±» random_device class random_device;  // ç±» seed_seq class seed_seq; // 彿°æ¨¡æ¿ generate_canonical template<class RealType, size_t bits, class URBG> RealType generate_canonical(URBG& g); // ç±»æ¨¡æ¿ uniform_int_distribution template<class IntType = int> class uniform_int_distribution; // ç±»æ¨¡æ¿ uniform_real_distribution template<class RealType = double> class uniform_real_distribution; // class bernoulli_distribution class bernoulli_distribution; // ç±»æ¨¡æ¿ binomial_distribution template<class IntType = int> class binomial_distribution; // ç±»æ¨¡æ¿ geometric_distribution template<class IntType = int> class geometric_distribution; // ç±»æ¨¡æ¿ negative_binomial_distribution template<class IntType = int> class negative_binomial_distribution; // ç±»æ¨¡æ¿ poisson_distribution template<class IntType = int> class poisson_distribution; // ç±»æ¨¡æ¿ exponential_distribution template<class RealType = double> class exponential_distribution; // ç±»æ¨¡æ¿ gamma_distribution template<class RealType = double> class gamma_distribution; // ç±»æ¨¡æ¿ weibull_distribution template<class RealType = double> class weibull_distribution; // ç±»æ¨¡æ¿ extreme_value_distribution template<class RealType = double> class extreme_value_distribution; // ç±»æ¨¡æ¿ normal_distribution template<class RealType = double> class normal_distribution; // ç±»æ¨¡æ¿ lognormal_distribution template<class RealType = double> class lognormal_distribution; // ç±»æ¨¡æ¿ chi_squared_distribution template<class RealType = double> class chi_squared_distribution; // ç±»æ¨¡æ¿ cauchy_distribution template<class RealType = double> class cauchy_distribution; // ç±»æ¨¡æ¿ fisher_f_distribution template<class RealType = double> class fisher_f_distribution; // ç±»æ¨¡æ¿ student_t_distribution template<class RealType = double> class student_t_distribution; // ç±»æ¨¡æ¿ discrete_distribution template<class IntType = int> class discrete_distribution; // ç±»æ¨¡æ¿ piecewise_constant_distribution template<class RealType = double> class piecewise_constant_distribution; // ç±»æ¨¡æ¿ piecewise_linear_distribution template<class RealType = double> class piecewise_linear_distribution; }