トップページ⇒tech
1002コメント330KB

C++相談室 part119 [転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2015/08/31(月) 18:19:04.13ID:NE3NvROE
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。

前スレ
C++相談室 part118
http://peace.2ch.net/test/read.cgi/tech/1435970316/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.97【環境依存OK】 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/tech/1439849418/

次期規格C++1zはこちら
C++14/C++1z 20
http://peace.2ch.net/test/read.cgi/tech/1410382924/

■長いソースを貼るときはここへ。■
 http://codepad.org/
 http://ideone.com/
0153デフォルトの名無しさん2015/09/04(金) 03:33:33.23ID:CNzc1DB/
>>150
AもBも他のクラスのメンバとするならば、初期化で問題なくインスタンス化できるという話ですか?
いずれにしろAとBをマネージするクラスを作るのは避けられないですかね?

>>152
どちらもgccのc++03でいけましたが、>>151はc++03だと警告が出ました
コンストラクタは書かなくても大丈夫ではないですか?
0154デフォルトの名無しさん2015/09/04(金) 04:59:59.47ID:ukgXeb3f
>>153
どっちも参照しかもって無いんだから誰かが実体持つ必要があるだろ。
それは相互に参照してようがしてまいが変わらない
0155デフォルトの名無しさん2015/09/04(金) 05:04:41.54ID:1ELVgZ8Y
>>153
C++03でクラス化するにはコンストラクタがいるよ
それと試しにg++(gcc)でやってみたけど、
C++11でのみ有効な機能っていう警告が出たよ
それじゃなかった?
0156デフォルトの名無しさん2015/09/04(金) 06:17:53.16ID:rG9hvPUX
>>101
コンソールに出力すると
コンソールの通信速度に引っ張られて
プログラムの動作が遅くなる
デバッグだからと言って無闇に大量に出力しないように気をつけないといけない
0157デフォルトの名無しさん2015/09/04(金) 08:17:29.72ID:9mN0gzGK
余計なお世話だ
0158デフォルトの名無しさん2015/09/04(金) 08:58:14.87ID:voaTutYw
コンソールってバッファリングしてないのか?
0159デフォルトの名無しさん2015/09/04(金) 11:55:39.86ID:1AVS2Ktf
>>156
言うだけ無駄
どーしてもcoutと手段が目的化してる
0160デフォルトの名無しさん2015/09/04(金) 12:28:24.29ID:s9W6t8fF
やぱログに吐いた方がいいって事ですか
0161デフォルトの名無しさん2015/09/04(金) 12:30:58.91ID:8nJVYQKk
>>154
mainとかの関数内ではAやBのインスタンス作れないですよね?
何かしら方法あるのかな
0162デフォルトの名無しさん2015/09/04(金) 12:37:05.16ID:g9gAlQ8r
>>161
普通に作れるでしょ…
0163デフォルトの名無しさん2015/09/04(金) 14:48:15.68ID:yKUUH6cx
どうでもいいけどcerrじゃ
0164デフォルトの名無しさん2015/09/04(金) 17:07:42.09ID:ynK+SMBx
>>156
>>158
リングバッファに貯めて別タスクでワイヤレスのコンソールに吐き出させています
>>160
確かにそうかもしれません。
主目的は、標準ライブラリの移植です。
>>163
それでもかまいませんが
やらなくてはならないことは同じではないかと思いました。

ちなみにiostreamをヘッダファイルに加えると以下のようなエラーが出ます
hoge.cpp:(.text.startup+0x48): undefined reference to `__dso_handle'
/path/to/libstdc++.a(system_error.o): In function `_GLOBAL__sub_I__ZNSt14error_categoryC2Ev':
system_error.cc:(.text.startup._GLOBAL__sub_I__ZNSt14error_categoryC2Ev+0x4c): undefined reference to `__dso_handle'
0165デフォルトの名無しさん2015/09/04(金) 20:19:10.44ID:STCOa/Lw
STLをビルドして組み込め。実装はただひとつでなくいくつもある。動作するやつで。
0166デフォルトの名無しさん2015/09/05(土) 18:20:35.46ID:pkvC4koK
 
http://erosuga1.blog.fc2.com/blog-entry-3174.html

親戚のエロお姉さんとS◯Xwwwwwwwwwww
 
0167デフォルトの名無しさん2015/09/06(日) 23:13:13.97ID:kzoJkPUN
CのCHAR_BITに当たるものはC++だとなんですか
0168デフォルトの名無しさん2015/09/06(日) 23:59:11.69ID:TtEkoNQG
>>167 CHAR_BIT かな。
0169デフォルトの名無しさん2015/09/07(月) 19:34:51.82ID:XjY9JrjD
nextとhasNextはnextを実装するときコピーが必要だが終端がわかっていればnextだけで進める
moveNextとcurrentはcurrentを実装するときコピーはいらないが進むのにmoveNextが必要という
トレードオフがあると思いませんか?
0170デフォルトの名無しさん2015/09/07(月) 20:08:22.86ID:AAyuiqtl
奇遇だな
ちょうど俺もそう思っていたところだ
0171デフォルトの名無しさん2015/09/07(月) 21:24:45.26ID:107fD43G
え!?俺も昨日同じこと考えたとこだった!
0172デフォルトの名無しさん2015/09/07(月) 21:26:55.88ID:xAuYi2fm
ちょっと>>169が何言ってるかわからない
0173デフォルトの名無しさん2015/09/08(火) 10:01:21.06ID:LEkrsXyv
typelistの代わりにtuple使ってるんだけどなんかダサいから
typelistの可変引数版みたいなのを自作しようと思います
0174デフォルトの名無しさん2015/09/08(火) 12:57:45.86ID:rdzMyuc+
俺も俺も
0175デフォルトの名無しさん2015/09/10(木) 14:29:57.70ID:vNCRKT6f
unique_ptrで配列を使う場合、テンプレート引数はどうするんでしょうか?
unique_ptr<int> p(new int[3]);
unique_ptr<int[]> p(new int[3]);
はどちらもGNU C++11でコンパイルが通りますが、両者は同じですか?
0176デフォルトの名無しさん2015/09/10(木) 17:14:13.20ID:tn/zLcPl
>>175
前者は消滅時に変なdeleteが呼ばれるんじゃね
0177デフォルトの名無しさん2015/09/10(木) 18:13:22.19ID:vNCRKT6f
>>176
share_ptrの場合<int[]>だとコンパイルエラーになりますが、
unique_ptrは配列の特殊化があるので<int[]>にしないとダメということでしょうか?
0178デフォルトの名無しさん2015/09/10(木) 18:33:57.55ID:jMDA+bxl
はい
0179デフォルトの名無しさん2015/09/10(木) 19:52:32.49ID:Ubq2dser
shared_ptrってなんで配列の特殊化が用意されてないんだろうね
代わりにshared_arrayがあったと思うけど、要するに生配列なんてクソなものは使うなよってことなのかね
0180デフォルトの名無しさん2015/09/10(木) 20:18:56.37ID:dU3rTPO3
>shared_array
いえそんなものありません
0181デフォルトの名無しさん2015/09/10(木) 20:26:28.15ID:2c1W3PII
shared_ptr<array<int,3>>で
0182デフォルトの名無しさん2015/09/10(木) 20:42:53.70ID:XPHYFe1B
unique_ptr<T[]>は知的興味でしかないだろうな
なぜなならアーレイやベクトルやストリングがあるからさ
そんな僕でもこれらデータ構造よりもunique_ptr<T[]>が使えると思いつく場面はあるんだ
それはヒープ配列の生のポインターをAPIで所有権をうけとるときたった一つさ
0183デフォルトの名無しさん2015/09/10(木) 23:41:24.04ID:Lt3YsJ/Z
> アーレイ
和服の彼女かとおもた
0184デフォルトの名無しさん2015/09/11(金) 10:32:13.74ID:yGFUVtFx
そういえばshare_ptrの参照カウンタって
実際の情報はどこで保持されてるんでしょうか?
0185デフォルトの名無しさん2015/09/11(金) 10:33:39.57ID:H6P2Jlk5
ソース見ればいい
0186デフォルトの名無しさん2015/09/11(金) 11:22:30.30ID:Ra3TP7iE
ソースみれば分かるが動的に確保しているよ
ただし高速化の工夫はしてある
0187デフォルトの名無しさん2015/09/11(金) 14:11:15.39ID:yGFUVtFx
share_ptrのソース見ましたが、atomic型を使って
うまいことやってるというくらいしか分かりませんでした

atomicについて知らなかったので調べたんですが、
これってC++11のメモリモデルに関するもので、
いわば言語のコアの機能なんですね
0188デフォルトの名無しさん2015/09/11(金) 14:12:30.08ID:yGFUVtFx
つまりC++11以前やCではこのshare_ptrを直接実装する方法はなく、
たとえば参照カウンタを持つクラスを用意し、これをshare_ptrさせたい
クラスに継承させるという間接的な方法しかないということですよね?
0189デフォルトの名無しさん2015/09/11(金) 14:20:50.61ID:ZeO2NzYz
んなわけねーだろ
0190デフォルトの名無しさん2015/09/11(金) 15:00:10.29ID:xy/6VGnh
C++11で、型推論autoを使って楽をしようと思ったんだが、
2つの変数の型を自動的に整合させる方法が分からないのだ。

void some_job() {
const auto loop_times = 10;

for (auto cnt = 0; cnt != loop_times; ++cnt) {
/* ループ内の処理 */
}
} // (インデントはおそらく破壊される)

上の場合、ループ回数 loop_times と、ループカウンタ cnt は
どちらのautoもintと判断されるのでとりあえず一致する。
しかし auto loop_times の初期値にintでない値を与えると
当然ながら loop_times と cnt の型が違ってしまう。

「cntの型は、loop_timesの型からconstを外したものだよ」
という変数宣言の書き方はないだろうか?

諸兄らの教えを乞いたい。
0191デフォルトの名無しさん2015/09/11(金) 15:18:09.86ID:yGFUVtFx
>>189
どのへんが間違ってるんですか?
C++初心者にもわかる説明だとありがたいです
0192デフォルトの名無しさん2015/09/11(金) 15:43:03.84ID:BdWqvAgc
>>190
ttp://ideone.com/CTjWaa
これでどうよ

>>191
boost::shared_ptrのソースでも見てみれば
shared_ptrが標準に入ったのは11からだけどそれ以前にもshared_ptrはあったんだから
01931902015/09/11(金) 18:00:12.76ID:xy/6VGnh
>>192
まさに希望した通りの情報です。感謝します。
std::remove_const 云々 と書くのか。

sizeof() と typeid().name() とで並べて見たところ
loop_times と cnt の型は一致した。
loop_times = 10U; や loop_times = '3'; でも
試したら自動的に型が合った。


テンプレート構造体に閉じ込めたtypedefか。
こんな仕掛けを思いつくとは尊敬すべき変態さん達だな。
0194デフォルトの名無しさん2015/09/11(金) 19:32:57.26ID:eMWeHauN
これって
const auto && loop_times = 10;
でも動くんか?
そこはdecayじゃないのかって思ったんだけど
0195デフォルトの名無しさん2015/09/11(金) 21:03:06.98ID:yGFUVtFx
>>192
よく見てみたら、参照カウンタ自体の仕組みはごく単純で、自分のイメージ通りでした
というか、そもそも自分がshare_ptrの使い方をちゃんと理解していませんでした
share_ptrに生ポインタ渡せるのは初回だけなんですね・・・
http://ideone.com/mysMec

スレ汚し失礼しました
0196デフォルトの名無しさん2015/09/11(金) 23:54:45.84ID:b8iFLD3f
コーディング言語は「オープンソース」が制す:Github人気調査結果 ≪ WIRED.jp
http://wired.jp/2015/09/11/github-coding-languages-open-source/
http://wired.jp/wp-content/uploads/2015/09/wiredus09101024x541.jpg
0197デフォルトの名無しさん2015/09/12(土) 01:27:55.77ID:JUZlHW5G
Rubyがそんなに上位だと思えないけどなぁ
0198デフォルトの名無しさん2015/09/12(土) 02:10:12.94ID:xJrAsa7q
ま、どうせcssとか入ってくる調査だし

でも混ぜこぜでもcssに負けてんのはちょっと面白い
0199デフォルトの名無しさん2015/09/12(土) 04:58:03.64ID:oXtx5tH/
HTMLとJavaScriptとCSSのみっつが順位を競う
プログラミング言語ランキングとは
サイトの名前をwiredからweirdに変えた方がいい
0200デフォルトの名無しさん2015/09/12(土) 13:10:32.88ID:JUZlHW5G
だよねぇ。おかしいよねぇ。
なんだかんだCは上位にいると思う。
0201デフォルトの名無しさん2015/09/12(土) 13:17:01.58ID:VGFicEEt
9位は十分上位だろう
githubはもともとスクリプト書いてる人が多く使ってたから
ああいう順位なんだと思うよ
0202デフォルトの名無しさん2015/09/12(土) 14:01:59.69ID:kwHtj/5N
マルチスレッドとグローバル変数の寿命に関する質問なのですが
detachしたスレッドが,メインスレッド終了後も生き続けてもグローバル変数にアクセスしても問題はありませんか?
StackOverflowなどには大丈夫だという回答があり、簡単なテストコードでも問題は無かったのですが
クラス内static変数にアクセスしたときに時々異常終了したことがあったので少し不安です
0203デフォルトの名無しさん2015/09/12(土) 14:06:47.33ID:JUZlHW5G
便乗質問 メインスレッドを終了してもコスレッドは生きてるんでしたけ? まずそこから・・・
0204デフォルトの名無しさん2015/09/12(土) 14:06:59.24ID:5QpLz49+
問題あるだろ
0205デフォルトの名無しさん2015/09/12(土) 14:37:23.35ID:kwHtj/5N
>>203
生きてないですね(核爆
0206デフォルトの名無しさん2015/09/12(土) 15:31:31.26ID:Jf5oAWRg
コンストラクタ() = delete;
これってなんですか
0207デフォルトの名無しさん2015/09/12(土) 15:52:40.95ID:uQU/vJQH
cppreference.comでは以下のように説明されている
>Inhibiting the automatic generation of a default constructor by the compiler.
0208デフォルトの名無しさん2015/09/12(土) 16:38:30.48ID:Jf5oAWRg
コンストラクタを書かないのとどう違うのですか?
0209デフォルトの名無しさん2015/09/12(土) 16:40:31.69ID:pEVoCQGH
書かないと自動生成されるだろ
0210デフォルトの名無しさん2015/09/12(土) 16:41:18.68ID:9veCOfSe
コンストラクタ書かなきゃいけなくなる
0211デフォルトの名無しさん2015/09/12(土) 16:41:52.46ID:9veCOfSe
デフォルト以外の
0212デフォルトの名無しさん2015/09/12(土) 16:43:08.92ID:Hpj3Z5wB
ビッグ4の法則はコンストラクターには成り立たないからな
0213デフォルトの名無しさん2015/09/12(土) 18:04:37.15ID:fhFqy1Q7
見たとおりコンストラクターが定義される
ただし使うとコンパイルエラーになる特別な本体で

定義されるので書かなかったときの自動生成は行われないし
privateで書いて生成禁止にしてもfriendからアクセス出来てしまうという誤りを防げる
0214デフォルトの名無しさん2015/09/12(土) 21:36:31.32ID:XAqQ9sMD
素直に単純に

コンパイラのコンストラクタの自動生成を阻止する

とせずに

使えない特殊なコンストラクタを定義
↓
コンストラクタがあるので自動生成されない

という回りくどいプロセスを踏んでいるのは何故ですか?
0215デフォルトの名無しさん2015/09/12(土) 21:46:02.85ID:mqPDPmPF
>>214
どっちが回りくどいかもう一度考えてみたら?
0216デフォルトの名無しさん2015/09/12(土) 21:48:41.33ID:urgaTojg
>>213の二段落目二行目のためでは
0217デフォルトの名無しさん2015/09/12(土) 22:39:51.40ID:fhFqy1Q7
>>214
そりゃ>>207のサイトが嘘つきなだけで
自動生成を抑止するためじゃなく
使えない関数を定義することが目的だからね
http://ideone.com/LKN3q1
0218デフォルトの名無しさん2015/09/13(日) 01:24:33.20ID:T9Cd4+Hx
目的は書く人次第だが
0219デフォルトの名無しさん2015/09/13(日) 01:28:55.66ID:Auzbsz6v
つまり>>207も>>217も目的を決めつけた嘘つきってことですね
0220デフォルトの名無しさん2015/09/13(日) 02:17:23.86ID:T9Cd4+Hx
どうでもいい
0221デフォルトの名無しさん2015/09/13(日) 03:41:04.36ID:6aqKmbgS
使えない関数を定義しているのではなく、そのシグネチャの関数がdeletedであることを宣言しているのだろう。

適用されるのは同じ翻訳単位だけなのでは?
0222デフォルトの名無しさん2015/09/13(日) 04:33:23.08ID:fzKWBIn4
>>221
そのレスする意味ある?
0223デフォルトの名無しさん2015/09/13(日) 05:08:08.47ID:6aqKmbgS
>>213みたいな無駄にややこしい上に誤った説明をそのままにしておくのは無責任なのでは?
0224デフォルトの名無しさん2015/09/13(日) 05:42:13.47ID:fzKWBIn4
そうじゃなくて、そのレス何も説明してないでしょ
他人を批判する前に自分を省みろって
0225デフォルトの名無しさん2015/09/13(日) 06:21:11.66ID:oxWskyTT
>>221
deleteが同じ翻訳しか適用されなくても
delete関数はインライン関数だから
違う翻訳単位でdeleteじゃかったらODR違反
問題ない
0226デフォルトの名無しさん2015/09/13(日) 08:36:35.77ID:GRWOhyHT
std::queue<T>についてなんですが
clear()メソッドが無いのは何か理由有り?

一応pop()がデータを返さなくてfront()で先頭要素にアクセスしてからpop()すべき仕様なのは
極力先頭要素のコピーをしたくなくて、参照で済ませたいからだと推測できるのですが
clear()が無い理由はちょっと…
0227デフォルトの名無しさん2015/09/13(日) 08:40:43.87ID:1aU/2qC8
>>226
データ構造上、コンテナを使い回すメリットがないから
新たにインスタンス作ればよろしいということ
0228デフォルトの名無しさん2015/09/13(日) 08:43:14.92ID:m2o7J/Xt
>>226
まーたその話かよ
コンテナアダプタだからって結論が出ただろ
0229デフォルトの名無しさん2015/09/13(日) 13:19:52.29ID:BGQqu8BA
clearが欲しいなら黙ってstd::dequeを使えばいいだけ
FIFOを使う場合にclearが必要になるのがおかしい
0230デフォルトの名無しさん2015/09/13(日) 13:59:21.40ID:21SWVEBe
>FIFOを使う場合にclearが必要になるのがおかしい

へー、どうして?
FIFOを乱す順序の操作ではないよね?
0231デフォルトの名無しさん2015/09/13(日) 15:45:14.55ID:zCQU/fdL
>>226
clearしたければclearする派生クラスを作ればいい
そういう設計だ
0232デフォルトの名無しさん2015/09/13(日) 17:42:34.20ID:aPjNmwB2
>>226
>極力先頭要素のコピーをしたくなくて

pop()が要素を返す場合コピーコンストラクタが例外を投げる可能性があるので
例外安全を満たすことができなくなる。
0233デフォルトの名無しさん2015/09/13(日) 17:59:22.43ID:dMwVjMJU
>例外安全を満たすことができなくなる

へー、どうして?
0234デフォルトの名無しさん2015/09/13(日) 18:45:49.56ID:ABWGqgkn
popでデータを返さないのはコピー時に例外発生したときにコンテナの中身から取り除かれるわpopした中身受け取れないわになるのを防ぐためってのもある
あとtopで参照返すことによりswapなどを使う事により例外発生させることなく受け取ることが可能になる
C++11からmove出来るようになったからほぼいらなくなったけど
0235デフォルトの名無しさん2015/09/13(日) 20:20:56.97ID:M0wiS1Aa
平面を二次元配列で表す時
array[width][height]
array[height][width]
どっちがいいですか?
0236デフォルトの名無しさん2015/09/13(日) 20:22:35.56ID:G58MCBrj
>>236
そんなことはお前のやろうとしていること次第。
ここできくことじゃない。
0237片山博文MZ ◆T6xkBnTXz7B0 2015/09/13(日) 20:25:57.90ID:io0Trfl5
>>235
横向きに連続してアクセスするなら
array[height][width]
がいい。まあ、その辺はインライン関数で抽象化して、実測すればわかる。
0238デフォルトの名無しさん2015/09/13(日) 21:21:42.16ID:M3GBYhkY
速度の差異を知りたいって事か。
変わるんすかねぇ
0239デフォルトの名無しさん2015/09/13(日) 22:47:56.80ID:q3JnkdTU
何故かわらないと思うんですか?
0240デフォルトの名無しさん2015/09/13(日) 23:01:44.40ID:JxlRVXLx
無礼な奴だな
まず変わると考える根拠を述べよ
0241デフォルトの名無しさん2015/09/13(日) 23:26:04.26ID:q3JnkdTU
変わらないと思う理由が知りたかっただけです
ここ、C++スレですよね
0242片山博文MZ ◆T6xkBnTXz7B0 2015/09/13(日) 23:55:37.85ID:io0Trfl5
array[height]は、width個の横に連続したデータになるから、
横方向に連続したアクセスなら、早くなるはず。
先読みとかキャッシュも関係するかも。
0243デフォルトの名無しさん2015/09/13(日) 23:57:05.44ID:ABWGqgkn
アクセス方法次第でCPUのキャッシュミスの発生率も変わるから速度も変わる
0244デフォルトの名無しさん2015/09/14(月) 01:17:12.52ID:h9CenDqd
>>235
プログラムが完成したら入れ替えてテストしろよ
0245デフォルトの名無しさん2015/09/14(月) 02:27:47.71ID:WQ7njzDq
なぜcolumn majorにしなかったのか
0246デフォルトの名無しさん2015/09/14(月) 19:17:30.03ID:nW8KHDe7
質問です
template templateという機能がありますが、これをクラステンプレートではなくて
関数テンプレートを渡す機能はありますか?

http://codepad.org/pYejO9Fn

意図としては、ライブラリを作るにあたって、ユーザーからコールバックとして
関数テンプレートを受け取りたいです。
コードの最初のFooクラスのように、クラスで包んでoperator()を定義すれば
実現できます。しかし不格好なので、 bar のように普通に定義された関数テンプレートを
渡すことはできないでしょうか?
0247デフォルトの名無しさん2015/09/14(月) 19:24:44.32ID:cuv2HbJp
>>246
関数テンプレートを渡す機能はありません
0248デフォルトの名無しさん2015/09/14(月) 19:29:09.13ID:nW8KHDe7
>>247
そうか。あざす。残念。
02491902015/09/15(火) 08:28:18.63ID:j+WGnnSb
>>194 の内容が >>190, >>193 と関連していることに気づかず失礼した。

const auto loop_times = ... に対しては
for (std::remove_const<decltype(loop_times)>::type cnt = 0; ...
for (std::decay<decltype(loop_times)>::type cnt = 0; ...
どちらで書いても期待通り動作することを確認。

const auto && loop_times = ... に対しては
前者(remove_const)はコンパイルエラー、後者(decay)は動作する。


ところで const auto && loop_times という変数宣言の && の
意味が分からないのですよ。
この&&が変数にどんな性質を与えるのか、
検索時に使うべきキーワードなど教えていただきたい。
0250デフォルトの名無しさん2015/09/15(火) 08:37:09.59ID:kADVoeCZ
rvalue reference declaratorで検索とかどうよ
0251デフォルトの名無しさん2015/09/15(火) 14:25:08.30ID:B7TuBbRI
endで取得したイテレータをデクリメントして
最後の要素を得るのは仕様的に問題無いでしょうか?
http://ideone.com/dzDqLI
0252デフォルトの名無しさん2015/09/15(火) 19:45:47.95ID:AnTXPfgv
プログラム内で生成した連番画像データを、
動画の形式(H.264など)に圧縮して、
ネットワークに送出し、
タブレットなどの端末でストリーミング再生できるようにしたいのですが、
どのようにすればできるでしょうか?

動画の形式にするにはMediaFoundationやNVENCなどのHWエンコーダを利用する
プログラムで可能であることは分かりました。
ネットワーク経由でストリーミングする具体的な方法が分かりません。

扱えるAPIは

・WinAPI
・WinSock
・Direct3D11
・DirectShow
・MediaFoundation

などです。

よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています