SlideShare a Scribd company logo
Enviar búsqueda
Cargar
C++11概要 ライブラリ編
Denunciar
Compartir
egtra
Seguir
•
5 recomendaciones
•
2,978 vistas
1
de
46
C++11概要 ライブラリ編
•
5 recomendaciones
•
2,978 vistas
Denunciar
Compartir
Descargar ahora
Descargar para leer sin conexión
Tecnología
Empresariales
egtra
Seguir
Recomendados
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜 por
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
勝成 鈴江
5.2K vistas
•
29 diapositivas
ゲーム開発者のための C++11/C++14 por
ゲーム開発者のための C++11/C++14
Ryo Suzuki
103.5K vistas
•
157 diapositivas
Map por
Map
kikairoya
10.2K vistas
•
41 diapositivas
C++ Template Meta Programming の紹介@社内勉強会 por
C++ Template Meta Programming の紹介@社内勉強会
Akihiko Matuura
9.4K vistas
•
59 diapositivas
templateとautoの型推論 por
templateとautoの型推論
MITSUNARI Shigeo
15.2K vistas
•
22 diapositivas
Pfi Seminar 2010 1 7 por
Pfi Seminar 2010 1 7
Preferred Networks
3.4K vistas
•
60 diapositivas
Más contenido relacionado
La actualidad más candente
C++でHello worldを書いてみた por
C++でHello worldを書いてみた
firewood
6.8K vistas
•
22 diapositivas
組み込みでこそC++を使う10の理由 por
組み込みでこそC++を使う10の理由
kikairoya
27K vistas
•
32 diapositivas
C++ ポインタ ブートキャンプ por
C++ ポインタ ブートキャンプ
Kohsuke Yuasa
11K vistas
•
145 diapositivas
BoostAsioで可読性を求めるのは間違っているだろうか por
BoostAsioで可読性を求めるのは間違っているだろうか
Yuki Miyatake
14.3K vistas
•
31 diapositivas
最新C++事情 C++14-C++20 (2018年10月) por
最新C++事情 C++14-C++20 (2018年10月)
Akihiko Matuura
1.7K vistas
•
39 diapositivas
クロージャデザインパターン por
クロージャデザインパターン
Moriharu Ohzu
19.6K vistas
•
146 diapositivas
La actualidad más candente
(20)
C++でHello worldを書いてみた por firewood
C++でHello worldを書いてみた
firewood
•
6.8K vistas
組み込みでこそC++を使う10の理由 por kikairoya
組み込みでこそC++を使う10の理由
kikairoya
•
27K vistas
C++ ポインタ ブートキャンプ por Kohsuke Yuasa
C++ ポインタ ブートキャンプ
Kohsuke Yuasa
•
11K vistas
BoostAsioで可読性を求めるのは間違っているだろうか por Yuki Miyatake
BoostAsioで可読性を求めるのは間違っているだろうか
Yuki Miyatake
•
14.3K vistas
最新C++事情 C++14-C++20 (2018年10月) por Akihiko Matuura
最新C++事情 C++14-C++20 (2018年10月)
Akihiko Matuura
•
1.7K vistas
クロージャデザインパターン por Moriharu Ohzu
クロージャデザインパターン
Moriharu Ohzu
•
19.6K vistas
競技プログラミングのためのC++入門 por natrium11321
競技プログラミングのためのC++入門
natrium11321
•
32.9K vistas
20141128 iOSチーム勉強会 My Sweet Swift por necocen
20141128 iOSチーム勉強会 My Sweet Swift
necocen
•
2.2K vistas
Ekmett勉強会発表資料 por 時響 逢坂
Ekmett勉強会発表資料
時響 逢坂
•
16.7K vistas
Ekmett勉強会発表資料 por 時響 逢坂
Ekmett勉強会発表資料
時響 逢坂
•
948 vistas
Emcpp item31 por mitsutaka_takeda
Emcpp item31
mitsutaka_takeda
•
10.6K vistas
Javaとかc#とか最近の言語使いのためのc++入門 por potimarimo
Javaとかc#とか最近の言語使いのためのc++入門
potimarimo
•
7.4K vistas
Visual C++で使えるC++11 por nekko1119
Visual C++で使えるC++11
nekko1119
•
36.8K vistas
Van laarhoven lens por Naoki Aoyama
Van laarhoven lens
Naoki Aoyama
•
1.9K vistas
競技プログラミングにおけるコードの書き方とその利便性 por Hibiki Yamashiro
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
•
18.2K vistas
不遇の標準ライブラリ - valarray por Ryosuke839
不遇の標準ライブラリ - valarray
Ryosuke839
•
7.4K vistas
お前は PHP の歴史的な理由の数を覚えているのか por Kousuke Ebihara
お前は PHP の歴史的な理由の数を覚えているのか
Kousuke Ebihara
•
33.3K vistas
C++入門? por tsudaa
C++入門?
tsudaa
•
3.6K vistas
すごいConstたのしく使おう! por Akihiro Nishimura
すごいConstたのしく使おう!
Akihiro Nishimura
•
13.3K vistas
C++14 Overview por Akira Takahashi
C++14 Overview
Akira Takahashi
•
11.8K vistas
Destacado
C++の黒魔術 por
C++の黒魔術
Daichi OBINATA
6.8K vistas
•
24 diapositivas
エクストリームC++11/14プログラミング por
エクストリームC++11/14プログラミング
egtra
2.1K vistas
•
26 diapositivas
More C++11 por
More C++11
京大 マイコンクラブ
13.9K vistas
•
57 diapositivas
中3女子が狂える本当に気持ちのいい constexpr por
中3女子が狂える本当に気持ちのいい constexpr
Genya Murakami
30.5K vistas
•
58 diapositivas
規格書で読むC++11のスレッド por
規格書で読むC++11のスレッド
Kohsuke Yuasa
17.6K vistas
•
94 diapositivas
Effective Modern C++ 読書会 Item 35 por
Effective Modern C++ 読書会 Item 35
Keisuke Fukuda
11K vistas
•
17 diapositivas
Destacado
(8)
C++の黒魔術 por Daichi OBINATA
C++の黒魔術
Daichi OBINATA
•
6.8K vistas
エクストリームC++11/14プログラミング por egtra
エクストリームC++11/14プログラミング
egtra
•
2.1K vistas
More C++11 por 京大 マイコンクラブ
More C++11
京大 マイコンクラブ
•
13.9K vistas
中3女子が狂える本当に気持ちのいい constexpr por Genya Murakami
中3女子が狂える本当に気持ちのいい constexpr
Genya Murakami
•
30.5K vistas
規格書で読むC++11のスレッド por Kohsuke Yuasa
規格書で読むC++11のスレッド
Kohsuke Yuasa
•
17.6K vistas
Effective Modern C++ 読書会 Item 35 por Keisuke Fukuda
Effective Modern C++ 読書会 Item 35
Keisuke Fukuda
•
11K vistas
C++ マルチスレッド 入門 por 京大 マイコンクラブ
C++ マルチスレッド 入門
京大 マイコンクラブ
•
57.8K vistas
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ por Genya Murakami
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
Genya Murakami
•
52.4K vistas
Similar a C++11概要 ライブラリ編
C++0x in programming competition por
C++0x in programming competition
yak1ex
1.8K vistas
•
24 diapositivas
Prosym2012 por
Prosym2012
MITSUNARI Shigeo
2.7K vistas
•
33 diapositivas
Cocoa勉強会201208 por
Cocoa勉強会201208
Satoshi Oomori
2.8K vistas
•
58 diapositivas
C++によるソート入門 por
C++によるソート入門
AimingStudy
3.6K vistas
•
23 diapositivas
Boost jp9 program_options por
Boost jp9 program_options
nyaocat
2.4K vistas
•
61 diapositivas
cp-15. 疑似乱数とシミュレーション por
cp-15. 疑似乱数とシミュレーション
kunihikokaneko1
1.5K vistas
•
27 diapositivas
Similar a C++11概要 ライブラリ編
(20)
C++0x in programming competition por yak1ex
C++0x in programming competition
yak1ex
•
1.8K vistas
Prosym2012 por MITSUNARI Shigeo
Prosym2012
MITSUNARI Shigeo
•
2.7K vistas
Cocoa勉強会201208 por Satoshi Oomori
Cocoa勉強会201208
Satoshi Oomori
•
2.8K vistas
C++によるソート入門 por AimingStudy
C++によるソート入門
AimingStudy
•
3.6K vistas
Boost jp9 program_options por nyaocat
Boost jp9 program_options
nyaocat
•
2.4K vistas
cp-15. 疑似乱数とシミュレーション por kunihikokaneko1
cp-15. 疑似乱数とシミュレーション
kunihikokaneko1
•
1.5K vistas
C++0x 言語の未来を語る por Akira Takahashi
C++0x 言語の未来を語る
Akira Takahashi
•
1.7K vistas
C++0x in programming competition por yak1ex
C++0x in programming competition
yak1ex
•
1K vistas
llvm入門 por MITSUNARI Shigeo
llvm入門
MITSUNARI Shigeo
•
16.6K vistas
Ssaw08 0916 por Atsushi Tadokoro
Ssaw08 0916
Atsushi Tadokoro
•
533 vistas
C++11のつかいかた por amusementcreators
C++11のつかいかた
amusementcreators
•
1.1K vistas
Slide por Takefumi MIYOSHI
Slide
Takefumi MIYOSHI
•
1.2K vistas
boost tour 1.48.0 all por Akira Takahashi
boost tour 1.48.0 all
Akira Takahashi
•
2.6K vistas
わんくま同盟大阪勉強会#61 por TATSUYA HAYAMIZU
わんくま同盟大阪勉強会#61
TATSUYA HAYAMIZU
•
957 vistas
Boost.SIMD por Akira Takahashi
Boost.SIMD
Akira Takahashi
•
4.6K vistas
Javaセキュアコーディングセミナー東京第2回講義 por JPCERT Coordination Center
Javaセキュアコーディングセミナー東京第2回講義
JPCERT Coordination Center
•
4.4K vistas
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和 por schoowebcampus
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
schoowebcampus
•
18.1K vistas
Implicit Explicit Scala por Kota Mizushima
Implicit Explicit Scala
Kota Mizushima
•
2.3K vistas
X hago2 shortcoding 20110827 por uskey512
X hago2 shortcoding 20110827
uskey512
•
1.6K vistas
LLVM最適化のこつ por MITSUNARI Shigeo
LLVM最適化のこつ
MITSUNARI Shigeo
•
7.4K vistas
Más de egtra
Visual C++コード分析を支えるSAL por
Visual C++コード分析を支えるSAL
egtra
4.2K vistas
•
33 diapositivas
Visual C++ 2015の紹介(C++11/14的に) por
Visual C++ 2015の紹介(C++11/14的に)
egtra
3.9K vistas
•
16 diapositivas
Casablanca por
Casablanca
egtra
3K vistas
•
20 diapositivas
Firefox拡張機能を始める por
Firefox拡張機能を始める
egtra
1.5K vistas
•
17 diapositivas
ATLに見る魔術 por
ATLに見る魔術
egtra
2K vistas
•
21 diapositivas
再変換 (K2Editor) por
再変換 (K2Editor)
egtra
1.2K vistas
•
12 diapositivas
Más de egtra
(9)
Visual C++コード分析を支えるSAL por egtra
Visual C++コード分析を支えるSAL
egtra
•
4.2K vistas
Visual C++ 2015の紹介(C++11/14的に) por egtra
Visual C++ 2015の紹介(C++11/14的に)
egtra
•
3.9K vistas
Casablanca por egtra
Casablanca
egtra
•
3K vistas
Firefox拡張機能を始める por egtra
Firefox拡張機能を始める
egtra
•
1.5K vistas
ATLに見る魔術 por egtra
ATLに見る魔術
egtra
•
2K vistas
再変換 (K2Editor) por egtra
再変換 (K2Editor)
egtra
•
1.2K vistas
char32_tとXpressiveと por egtra
char32_tとXpressiveと
egtra
•
1.6K vistas
Boost.Range入門 por egtra
Boost.Range入門
egtra
•
1.7K vistas
Boost.Graph入門 por egtra
Boost.Graph入門
egtra
•
4K vistas
Último
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料) por
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
185 vistas
•
63 diapositivas
01Booster Studio ご紹介資料 por
01Booster Studio ご紹介資料
ssusere7a2172
220 vistas
•
19 diapositivas
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化 por
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
Knowledge & Experience
8 vistas
•
34 diapositivas
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料) por
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
217 vistas
•
33 diapositivas
概念モデリングワークショップ 設計編 por
概念モデリングワークショップ 設計編
Knowledge & Experience
10 vistas
•
37 diapositivas
JJUG CCC.pptx por
JJUG CCC.pptx
Kanta Sasaki
6 vistas
•
14 diapositivas
Último
(8)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料) por NTT DATA Technology & Innovation
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
•
185 vistas
01Booster Studio ご紹介資料 por ssusere7a2172
01Booster Studio ご紹介資料
ssusere7a2172
•
220 vistas
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化 por Knowledge & Experience
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
Knowledge & Experience
•
8 vistas
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料) por NTT DATA Technology & Innovation
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
•
217 vistas
概念モデリングワークショップ 設計編 por Knowledge & Experience
概念モデリングワークショップ 設計編
Knowledge & Experience
•
10 vistas
JJUG CCC.pptx por Kanta Sasaki
JJUG CCC.pptx
Kanta Sasaki
•
6 vistas
さくらのひやおろし2023 por 法林浩之
さくらのひやおろし2023
法林浩之
•
83 vistas
概念モデリングワークショップ 基礎編 por Knowledge & Experience
概念モデリングワークショップ 基礎編
Knowledge & Experience
•
19 vistas
C++11概要 ライブラリ編
1.
C++11概要 ライブラリ編 H.24/05/26 Egtra Boost.勉強会 #9
つくば
2.
注意 • 網羅はしていません
– 規格を(N3337.pdfも可)を読む – cpprefjpを書く・読む
3.
Misc
4.
スマートポインタ • unique_ptr
– 以下の上位互換 – std::auto_ptr – boost::scoped_ptr, boost::scoped_array • shared_ptr – boost::shared_ptrとほぼ同じ – 注意:shared_array版はなし
5.
スマートポインタ • unique_ptr<int> up(new
int(1)); • unique_ptr<int[]> ua( new int[]{1, 2, 3}); • auto sp = std::make_shared<int>(3);
6.
関数オブジェクト • std::function • std::ref,
std::bind, std::mem_fn – ラムダ式があるのでbind不要?
7.
整数型 (C99) • <cstdint> •
int8_t, uint8_t, …… (16, 32, 64) • intptr_t, uintptr_t • その他諸々
8.
コンテナ
9.
新コンテナ • unordered_*
– unordered_map<>, …… – ハッシュマップ • array<> – 固定長配列 (boost::array風) • forward_list<> – 片方向リンクリスト
10.
コンテナの初期化 • 配列の初期化 • int
ra[] = {1, 2, 3};
11.
コンテナの初期化 • 配列の初期化、コンテナでも • int
ra[] = {1, 2, 3}; • std::array<int, 3> a = {1, 2, 3}; • std::vector<int> v = {1, 2, 3};
12.
コンテナへの代入 • a =
{1, 2, 3}; • v = {1, 2, 3};
13.
With 構造体 struct Point
{ double x; double y; };
14.
With 構造体 std::vector<Point> vp
= { {10, 0}, {0, 20}, };
15.
With 構造体 vp.push_back({0, -20}); vp.insert(v.begin(),
{0, 0});
16.
With クラス std::vector<std::fstream> vf
= { {"a.cpp"}, {"a.out", ios_base::binary}, };
17.
With クラス std::vector<std::fstream> vf
= { std::fstream("a.cpp"), std::fstream( "a.out", std::ios_base::binary), };
18.
With コピー不可の型 class SanJigen
: boost::noncopyable { explicit SanJigen( int x, int y, int z); };
19.
With コピー不可の型 // 図形 std::vector<SanJigen>
figure; figure.emplace_back(3, 1, 4); → figure[0] == SanJigen(3, 1, 4)
20.
map::at, unordered_map::at std::map<std::string, std::string>
const yome = { {"Nyaruko", "Mahiro"}, {"Kuko", "Nyaruko"}, {"Hasta", "Mahiro"}, };
21.
map::at, unordered_map::at auto x =
yome.at("Hasta"); → x == "Mahiro"
22.
map::at, unordered_map::at yome.at("Mahiro"); →……?
23.
map::at, unordered_map::at yome.at("Mahiro"); _人人人人_ >
突然の死 <  ̄^Y^Y^Y^Y ̄ (註:std::out_of_range)
24.
map::at, unordered_map::at auto const yome2
= yome; yome2.insert( {"Mahiro", "Shantak-kun"}); auto y = yome2.at("Mahiro");
25.
unordered_mapのキー対応 namespace My {
struct Point { int x, y; }; bool operator==(Point, Point); }
26.
unordered_mapのキー対応 namespace std {
struct hash<My::Point> { std::size_t operator()( Point const& pt) const { return ……; } }; // 特殊化 }
27.
文字列
28.
basic_string: 要素の連続 auto len
= GetWindowTextLength(hwnd); std::basic_string<TCHAR> t(len + 1); GetWindowText(hwnd, &s[0], len + 1); s.pop_back(); // !
29.
文字列・数値変換 atoi/atol/strtol類の上位互換 int stoi(const std::string&
str, std::size_t* idx = 0, int base = 10); int stoi(const std::wstring& str, std::size_t* idx = 0, int base = 10);
30.
文字列・数値変換 // atoiっぽく auto x
= stoi("103"); // strtolっぽく std::size_t pos; auto y = stoi("BEEF kue", &pos, 16);
31.
文字列・数値変換 • stoi (int) •
stol (long) • stoll (long long) • stoull (unsigned long long) • stof (float) • stod (double) • stold (long double)
32.
文字列・数値変換 文字列へ変換 auto s =
std::to_string(201); auto ws = std::to_wstring(233.1000);
33.
ワイド・ナロー変換 std::wstring_convert<
std::codecvt<wchar_t, char, std::mbstate_t>> cvt(new std::codecvt_byname< wchar_t, char, std::mbstate_t>(" "));
34.
ワイド・ナロー変換 std::wstring araragi =
cvt.from_bytes(' A '); std::wstring tsukihi = cvt.from_bytes("月火");
35.
ワイド・ナロー変換 std::string koyomi
= cvt.to_bytes(L'暦'); std::string aryaryagi = cvt.to_bytes(L"アララギ");
36.
正規表現 std::regex meruado_kamo(".+@.+"); if (std::regex_match(
"hoge@example.jp", meruado_kamo)) { std::cout << "メルアドかも¥n"; }
37.
メールアドレスの正規表現 (?:(?:(?:(?:(?:(?:[¥x20¥x09]*(?:¥x0D¥x0A))?[¥x20¥x09]+|(?:[¥x20¥x0 9]+(?:(?:¥x0D¥x0A)[¥x20¥x09]+)*))?(¥((?:(?:(?:[¥x20¥x09]*(?:¥x0D¥x 0A))?[¥x20¥x09]+|(?:[¥x20¥x09]+(?:(?:¥x0D¥x0A)[¥x20¥x09]+)*))?(?:( ?:[¥x21-¥x27¥x2A-¥x5B¥x5D-¥x7E]|[¥x01-¥x08¥x0B¥x0C¥x0E-¥x1F¥x7F])| (?:¥¥(?:[¥x21-¥x7E]|[¥x20¥x09])|(?:¥¥(?:¥x00|[¥x01-¥x08¥x0B¥x0C¥x0 E-¥x1F¥x7F]|¥x0A|¥x0D)))|(?-1)))*(?:(?:[¥x20¥x09]*(?:¥x0D¥x0A))?[¥ x20¥x09]+|(?:[¥x20¥x09]+(?:(?:¥x0D¥x0A)[¥x20¥x09]+)*))?¥)))+(?:(?: [¥x20¥x09]*(?:¥x0D¥x0A))?[¥x20¥x09]+|(?:[¥x20¥x09]+(?:(?:¥x0D¥x0A) [¥x20¥x09]+)*))?|(?:(?:[¥x20¥x09]*(?:¥x0D¥x0A))?[¥x20¥x09]+|(?:[¥x 20¥x09]+(?:(?:¥x0D¥x0A)[¥x20¥x09]+)*)))?(?:[A-Za-z0-9!#$%&'*+¥-/=? ^_`{|}~]+(?:¥.[A-Za-z0-9!#$%&'*+¥-/=?^_`{|}~]+)*)(?:(?:(?:(?:[¥x20 ¥x09]*(?:¥x0D¥x0A))?[¥x20¥x09]+|(?:[¥x20¥x09]+(?:(?:¥x0D¥x0A)[¥x20 ¥x09]+)*))?(¥((?:(?:(?:[¥x20¥x09]*(?:¥x0D¥x0A))?[¥x20¥x09]+|(?:[¥x 20¥x09]+(?:(?:¥x0D¥x0A)[¥x20¥x09]+)*))?(?:(?:[¥x21-¥x27¥x2A-¥x5B¥x 5D-¥x7E]|[¥x01-¥x08¥x0B¥x0C¥x0E-¥x1F¥x7F])|(?:¥¥(?:[¥x21-¥x7E]|[¥x 20¥x09])|(?:¥¥(?:¥x00|[¥x01-¥x08¥x0B¥x0C¥x0E-¥x1F¥x7F]|¥x0A|¥x0D)) )|(?-1)))*(?:(?:[¥x20¥x09]*(?:¥x0D¥x0A))?[¥x20¥x09]+|(?:[¥x20¥x09]
38.
メールアドレスの正規表現 (?:(?:(?:(?:(?:(?:[¥x20¥x09]*(?:¥x0D¥x0A))?[¥x20¥x09]+|(?:[¥x20¥x0 9]+(?:(?:¥x0D¥x0A)[¥x20¥x09]+)*))?(¥((?:(?:(?:[¥x20¥x09]*(?:¥x0D¥x 0A))?[¥x20¥x09]+|(?:[¥x20¥x09]+(?:(?:¥x0D¥x0A)[¥x20¥x09]+)*))?(?:( ?:[¥x21-¥x27¥x2A-¥x5B¥x5D-¥x7E]|[¥x01-¥x08¥x0B¥x0C¥x0E-¥x1F¥x7F])| (?:¥¥(?:[¥x21-¥x7E]|[¥x20¥x09])|(?:¥¥(?:¥x00|[¥x01-¥x08¥x0B¥x0C¥x0 E-¥x1F¥x7F]|¥x0A|¥x0D)))|(?-1)))*(?:(?:[¥x20¥x09]*(?:¥x0D¥x0A))?[¥ x20¥x09]+|(?:[¥x20¥x09]+(?:(?:¥x0D¥x0A)[¥x20¥x09]+)*))?¥)))+(?:(?: [¥x20¥x09]*(?:¥x0D¥x0A))?[¥x20¥x09]+|(?:[¥x20¥x09]+(?:(?:¥x0D¥x0A) [¥x20¥x09]+)*))?|(?:(?:[¥x20¥x09]*(?:¥x0D¥x0A))?[¥x20¥x09]+|(?:[¥x 20¥x09]+(?:(?:¥x0D¥x0A)[¥x20¥x09]+)*)))?(?:[A-Za-z0-9!#$%&'*+¥-/=? ^_`{|}~]+(?:¥.[A-Za-z0-9!#$%&'*+¥-/=?^_`{|}~]+)*)(?:(?:(?:(?:[¥x20 ¥x09]*(?:¥x0D¥x0A))?[¥x20¥x09]+|(?:[¥x20¥x09]+(?:(?:¥x0D¥x0A)[¥x20 ¥x09]+)*))?(¥((?:(?:(?:[¥x20¥x09]*(?:¥x0D¥x0A))?[¥x20¥x09]+|(?:[¥x 20¥x09]+(?:(?:¥x0D¥x0A)[¥x20¥x09]+)*))?(?:(?:[¥x21-¥x27¥x2A-¥x5B¥x 5D-¥x7E]|[¥x01-¥x08¥x0B¥x0C¥x0E-¥x1F¥x7F])|(?:¥¥(?:[¥x21-¥x7E]|[¥x 20¥x09])|(?:¥¥(?:¥x00|[¥x01-¥x08¥x0B¥x0C¥x0E-¥x1F¥x7F]|¥x0A|¥x0D)) )|(?-1)))*(?:(?:[¥x20¥x09]*(?:¥x0D¥x0A))?[¥x20¥x09]+|(?:[¥x20¥x09]
39.
正規表現 std::regex last_part(
"^(?:.*/)+([^/]*)"); std::string src = "/usr/bin/cc"; std::string replace = "$1"; std::string file = std::regex_replace( src, last_part, replace);
40.
日時入出力 auto time =
std::time(nullptr); auto tm = std::localtime(&time); std::cout.imbue(std::locale("")); std::cout << std::put_time(tm, "%c") << std::endl;
41.
日時入出力(それBoostで) ptime pt =
second_clock::local_time(); std::locale loc(std::locale(""), new time_facet<ptime, char>("%c")); std::cout.imbue(loc); std::cout << pt << std::endl;
42.
並行処理関係
43.
Atomic演算 (Windows) long x; InterlockedIncrement(&x); InterlockedDecrement(&x); auto
old = InterlockedCompareExchange( &x, newValue, comparand);
44.
Atomic演算 std::atomic<int> y; y++; y--; int old
= newValue; bool b = x.compare_exchange_strong( &old, comparand);
45.
非同期実行(スレッド) int hoge(
std::string const& arg1, int arg2); std::future<int> f = std::async( std::launch::async, hoge, "rofi", 3); …… int result = f.get(); // 待機する
46.
非同期実行(現Boost風) void g(……); std::thread th(g,
……); th.join(); // 待機する