1read 100read
2012年5月プログラム55: C++相談室 part95 (482) TOP カテ一覧 スレ一覧 2ch元 削除依頼
PureBasic (133)
【SICP】計算機プログラムの構造と解釈 Part3 (345)
初心者の俺が初めて覚えるプログラム言語 (459)
Cygwin + MinGW + GCC 相談室 Part 6 (718)
Squeakでマターリ語りましょうや (808)
CVS導入スレ〜 Rev.3 (836)

C++相談室 part95


1 :12/05/08 〜 最終レス :12/05/30
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。
前スレ
C++相談室 part94
http://toro.2ch.net/test/read.cgi/tech/1329512856/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.78【環境依存OK】
http://toro.2ch.net/test/read.cgi/tech/1331894668/
■長いソースを貼るときはここへ。■
 http://codepad.org/
 http://ideone.com/

2 :
■基本■
[C++ FAQ]
 http://www.parashift.com/c++-faq/
 http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
  Cとその仕様を比較しながらの解説なので分かりやすい。
  ***** 質問の前に必ずこの二つに目を通してください *****
[C/C++ リファレンス]
 http://en.cppreference.com/w/cpp (英語)
 http://ja.cppreference.com/w/cpp (↑の日本語訳だけどまだ未完)
[Stroustrup]
 http://www2.research.att.com/~bs/
[C++ International Standard]
 http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=50372
[JTC1/SC22/WG21 - C++]
 http://www.open-std.org/jtc1/sc22/wg21/
  ここから規格の最新ドラフトがダウンロードできる。
[JIS X3014]
 http://www.jisc.go.jp/app/pager?%23jps.JPSH0090D:JPSO0020:/JPS/JPSO0090.jsp=&RKKNP_vJISJISNO=X3014
  ISO規格の日本語訳。JIS X3014:2003はISO/IEC 14882:2003 (E)に対応。

3 :
■Libraries■
[Boost]
 Boost http://www.boost.org/
 (日本語) http://www.kmonos.net/alang/boost/
 (日本語) http://shinh.skr.jp/boost/
[標準ライブラリ]
 SGI-STL http://www.sgi.com/tech/stl/
 STLport http://stlport.sourceforge.net/
 GNU libstdc++ http://gcc.gnu.org/libstdc++/
 Apache C++ Standard Library (STDCXX) http://stdcxx.apache.org/
 STLFilt http://www.bdsoft.com/tools/stlfilt.html
 (日本語) http://episteme.wankuma.com/stlprog/ (※1999年発行注意)
[Loki]
 http://sourceforge.net/projects/loki-lib/
 LokiPort-MSVC6sp5 http://fara.cs.uni-potsdam.de/~kaufmann/?page=lokiport

4 :
■Books■
amazon C,C++関連書籍
 http://www.amazon.com/exec/obidos/tg/browse/-/3956/ref=br_bx_c_1_3/
 http://www.amazon.co.jp/b/?node=754384
The C++ Programming Language
 http://www.amazon.com/exec/obidos/ASIN/0201700735/
 http://www.amazon.co.jp/exec/obidos/ASIN/475611895X/ (翻訳)
C++ Primer (3rd Edition)
 http://www.amazon.com/exec/obidos/ASIN/0201824701/
 http://www.amazon.co.jp/exec/obidos/ASIN/4756140068/ (翻訳)
The C++ Standard Library
 http://www.amazon.com/exec/obidos/ASIN/0201379260/
 http://www.amazon.co.jp/exec/obidos/ASIN/4756137156/ (翻訳)
Effective C++
 http://www.amazon.com/exec/obidos/ASIN/0201924889/
 http://www.amazon.co.jp/exec/obidos/ASIN/4756118089/ (翻訳)
More Effective C++
 http://www.amazon.com/exec/obidos/ASIN/020163371X/
 http://www.amazon.co.jp/exec/obidos/ASIN/4756118534/ (翻訳)
Exceptional C++
 http://www.amazon.com/exec/obidos/ASIN/0201615622/
 http://www.amazon.co.jp/exec/obidos/ASIN/4894712709/ (翻訳)
More Exceptional C++
 http://www.amazon.com/exec/obidos/ASIN/020170434X/
 http://www.amazon.co.jp/exec/obidos/ASIN/4894714833/ (翻訳)
Exceptional C++ Style
 http://www.amazon.com/exec/obidos/ASIN/0201760428/
 http://www.amazon.co.jp/exec/obidos/ASIN/4894714663/ (翻訳)

5 :
■Books(Templateまわり)■
Effective STL
 http://www.amazon.com/exec/obidos/ASIN/0201749629/
 http://www.amazon.co.jp/exec/obidos/ASIN/4894714108/ (翻訳)
Modern C++ Design
 http://www.amazon.com/exec/obidos/ASIN/0201704315/
 http://www.amazon.co.jp/exec/obidos/ASIN/4894714353/ (翻訳)
C++ Templates
 http://www.amazon.com/exec/obidos/ASIN/0201734842/
C++ Template Metaprogramming
 http://www.amazon.com/exec/obidos/ASIN/0321227255/

6 :
http://img.2ch.net/ico/boruzyoa.gif
韓国へ、中国の人肉カプセル密輸急増
死産した赤ん坊や幼児の遺体からつくられた粉末のカプセルが、
中国から韓国に密輸入されるケースが急増し、韓国関税庁が取締りを強化しています。
 これが摘発された中国製のカプセルです。中には死産した赤ん坊や幼児の遺体からつくられた粉末が入っていて、
「滋養強壮剤」として韓国に密輸入されました。韓国では去年8月以降、密輸入が急増しており、
関税庁はこれまでに35件、合わせて1万7000錠以上を摘発しました。いずれも、旅行者の携帯品や国際郵便で持ち込まれたものです。
 色やにおいで識別できないよう生薬などを混ぜたり、他の医薬品の中身だけを入れ替えるなど、
密輸の手口も巧妙になっているということです。
粉末から抗生物質がほとんどきかない「スーパー細菌」が検出されたとして、取締りを強化しています。
(07日17:14)
http://news.tbs.co.jp/newseye/tbs_newseye5023288.html

7 :
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

8 :
mapを使って、いちいちinsertせずに一気に初期化したいのですが、下記のコードはエラーになります。
どのようにすればよいでしょうか?無理かな?
また、一度初期化した後は参照するだけで、マップの中身を弄くるつもりはないのですが
もしこのケースでメモリやアクセス速度を最適化できる方法があれば教えてください。
//とあるシステムのキーコード
struct HOGESYSTEM_KEYDATA
{
USHORT UnitId;
USHORT MakeCode;
USHORT Flags;
};
// WindowsのVK_XXと、Hogeシステムのキーコードのマップ(Win->Hogeの変換のみでOK)
map<int,HOGESYSTEM_KEYDATA> WinToHogeKeyMap = {
{VK_SHIFT,{0,0x2a,2}},
{VK_CONTROL,{0,0x1d,2}},
};
よろしくお願いいたします!

9 :
>>8
http://codepad.org/3LgLvRwC

10 :
>>8
C++11の初期化リストを使いたいなら
HOGESYSTEM_KEYDATA(std::initializer_list<int>)を実装する。

11 :
HOGESYSTEM_KEYDATA::HOGESYSTEM_KEYDATA(std::initializer_list<int>)ね。失礼。

12 :
識別子がなげーよ

13 :
C++0xそんな便利なものがあるのか。でも、俺の古いコンパイラじゃ
initializer_listは使えないんだな、これが。

14 :
>>9
ありがとうございます!
無事に実装できました!
>>10
initializer_listは時間に余裕が出てから勉強させて頂きます!
情報有り難うございました!

15 :
教えてください。
今Linux上で作られたC言語ソース(TCP通信系の処理)をWindowsベース(VC MFC)に移植する作業をしているんですが、
コンパイルをすると以下のヘッダがインクルード出来ないってエラーが出ます。
sys/ioctl.h
sys/sockh
で調べたら上記のヘッダはLinux専用(?)なんで、VCでやりたかったらWinsock使いなさいって書かれていましたが、
Winsockで処理を書き直すのが面倒なんで流用出来る方法って他にありませんか?
無い知恵絞って考えたのは、gcc使ってLinuxベースのソースをDLLにしてVCからリンク時に読み込ませれば
良いんじゃないかと思って色々試してるんですが、gcc使ってのDLL化が良く分かって無いので下のサイトを
参考にしたのですが上手く行きません。
http://yun.cup.com/wingccsdl019.html
コンプライアンスの関係上ソースを公開出来ませんが何か良い方法をご存知の方は是非ご教授ください。

16 :
>>15
スレ違い。VCのスレ辺りがいいんじゃない?
で、LinuxのソースをLinux上でDLL(so)にしてもVCではリンクできない。
Cygwin上でDLLが作れれば、リンクできるかもしれない。
でもCygwinでioctlまでサポートされているかは微妙。
これらを踏まえると、素直にWinSockで書き直すのが一番手っ取り早いと思う。
つーか、それが面倒な人がDLL化なんて面倒なことができるとは思えない。

17 :
>コンプライアンスの関係上ソースを公開出来ません
なら上司に聞けよ屑

18 :
>>16
やっぱりそうですか。
通信周りの処理なんですが、既存のAPIと挿げ替えただけで動くと思って安請け合いした結果、
思った以上に面倒だったので困ってしまいました。
あまり手を加えずに既存のソースを流用したかったんですが、難しいですかね。
ありがとうございました。

19 :
日本の失われた20年は在日マスコミの大嘘―日本は金融資産を増やし、成長を続けている
クルーグマンが、実は日本の00年代の一人当たりGDPの成長率はEU諸国、そしてアメリカよりも高かった事実を発表した。
バブルによる日本の不景気はあくまでも10年間で、それ以降は実はしっかり成長軌道に乗っていることを示して
失われた20年などというのは間違いで、無知な悲観論者の戯言だったとのこと。
※クルーグマンはノーベル賞やその他の経済学賞を受賞しているアメリカで最も著名な経済学者
http://image.space.rakuten.co.jp/lg01/80/0000186380/72/img66421dc8zik4zj.jpeg
http://noahpinionblog.blogspot.com/2012/01/japan-had-one-lost-decade-but-not-two.html
http://www.nytimes.com/2012/01/08/opinion/sunday/the-true-story-of-japans-economic-success.html?_r=1

20 :
STLつかうと一気に実行ファイルサイズが10倍に?!
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
一応地鎮祭な

21 :
もう何年前になるんだっけそれ

22 :
winsock と Linux のソケットってそんな違いあったっけ?

23 :
read/writeと非同期

24 :
AF_UNIXが使えないとか、いくつか関数名が違うとか、インクルードファイルが全然違うとか、
初期化してやらないとまともに動かねぇとか、selectがソケットしか受け付けねぇケチ仕様だとか、
struct in_addrのメンバが違うとか、それくらいかねぇ?

25 :
>>21 http://logsoku.com/thread/hibari.2ch.net/tech/1291890680/24

26 :
double x,y;
に対して、
!(x>y)

x<=y
の結果って同じですか?
(infとかnanを気にしているわけではありません)

27 :
誤差を考慮する必要がある

28 :
そこがよくわからないのですが、
ビットレベルでそれぞれの不等式を実装した時にどういうことをやってるか教えてもらえませんか?
自分はx<=yを使わないようにしているのですが、誤差の意味でx<yのほうが優れていると言い切っていいのですか?

29 :
同じですか?なら同じと言っていい
何をしたいかによるが、前後の誤差を考慮することが多いという話

30 :
x yがともに浮動小数点数の計算結果の場合、

31 :
…誤差がありうるから、等号を含む比較にあまり意味がない

32 :
template <T,U>
bool compare(T x, U y) {
return x<=y;
}
みたいに使うので、intの場合にも同じ実装が使えることは(いまの目的では)けっこう重要です。
上にあるようにビットレベルで同じなら何の問題もないですよね?

33 :
浮動小数点の何を等しいとするかは
目的とする精度によって違うから

34 :
>>32
あんたがそれでいいのなら、それでいいよ。
うちじゃ話にならないけどね。

35 :
>>34
単純な話、
bool compare(double x, double y) {
return !(x>y);
}

bool compare(double x, double y) {
return x<=y;
}
の結果が、doubleで許される全値の組み合わせについて同じかどうか聞いてるだけなんですが。
違うなら違うと言ってくれたらいいのに。

36 :
全値の組み合わせを試せばいい

37 :
心配なら8桁ぐらいで切り捨てておけ

38 :
>>35
それが同じかどうかは環境依存。

39 :
>>35
コンパイラのアセンブリ出力オプションを試せば、
!(x>y)とx<=yの違いが分かる。

40 :
シングルトンってRelease()があるのが一般的なの?
解放した後に再確保できると、シングルトンと
グローバル変数のインスタンスと違いがはっきりするけど。
初期化が一度しか行われないこともシングルトンの用件だとしたら
解放されちゃまずいよね。

41 :
俺ならとりあえずRAIIなラッパかデリータ付きスマートポインタで
参照カウンタ付けとく
カウンタ0で解放とかするかどうかは内容次第じゃね

42 :
別に”シングルトン”の条件なんてどうでもいいな
そんな概念なんて教条的なOOPデザパタカルトのキチガイが気にするだけ

43 :
デザパタって「名前付けただけ」なんだよね
初心者への紹介も兼ねるけど

44 :
いや。デザパタ本にも書いてあるけど、
デザパタがあって、名前がある。
まだ名前の無いデザパタも複数有る。
デザパタ本は、前書きに有るとおり、
複数あるデザパタから特に良く使うものを抜き出して
紹介しているだけで、デザパタ本に書いてなければ
デザパタに非ずというような物でもない。

45 :
>>40
手段を目的にするなよ。
目的が達成できて問題がなけりゃ
どんな形式でもいいだろうが。

46 :
>>44
複数あるって何だよw有限個じゃねーんだから
設計なんて無数だろ
名前が付いて初めてデザパタだよ
アレは銀の弾丸なわけでもなく
名前を付けることが他者との意思疎通に有用ってのが主旨だろ
典型例の紹介だけなら入門書にでも書いときゃいいんだよ

47 :
>>46
「オブジェクト指向における再利用のためのデザインパターン 改訂版」
本位田 真一/吉田 和樹 監訳
この本のp13〜15に書いてあった内容引っ張っただけだし、
お前は、お前のデザパタ定義を貫けばいいんじゃないか?

48 :
シングルトンクラスの利用者は
コンストラクタ・デストラクタを意識しなくていいよね?

49 :
>>47
ああ、お前もお前のデザパタ定義を貫けばいいと思うよ
Design Patterns: Elements of Reusable Object-Oriented Software
>In general, a pattern has four essential elements:
>1. The pattern name is a handle we can use to describe a design problem, its
solutions, and consequences in a word or two. Naming a pattern immediately
increases our design vocabulary. It lets us design at a higher level of
abstraction. Having a vocabulary for patterns lets us talk about them with
our colleagues, in our documentation, and even to ourselves. It makes it
easier to think about designs and to communicate them and their trade-offs
to others. Finding good names has been one of the hardest parts of developing
our catalog.

50 :
常識的な範囲内で美味いことやってくれるはずだから気にしなくて良い。

51 :
一応ソースってことで
http://my.safaribooksonline.com/book/software-engineering-and-development/patterns/0201633612/chapter-1-introduction/3

52 :
>>49
そらデザパタカタログに乗ってるものは名前ついてるわなw
一部だけ抜粋するんじゃなく、金だして一度全文読んどけよ

53 :
どうでもよろ
ま、デザインパターンの意図としてはパターンを有限個にしたいということであって>49で正解だが
可算無限濃度の設計の中から残すだけの価値があるパターンがこの先可算無限濃度見いだされる可能性は
>49とて否定できないハズ
なにしろ「洗練されたコード」と言うのと同じで数学的基準があるようでない世界だからな

54 :
「何がパターンで、何がパターンでないかは、人それぞれである。」

55 :
パターン入った!

56 :
シングルトンさえできりゃ他はいらん

57 :
>金だして一度全文読んどけよ
いや、お前が読んどけよ
どうやってあのURLを見つけたと思ってんだよ
>>53
俺は>>44
>まだ名前の無いデザパタも複数有る。
を否定しただけ
カタログにした理由、名前を付けることの意義
何故GoFがパターンに不可欠な4要素の第1項目をpattern nameにしたか、そういった話
あれを「さいきょうの設計かたろぐ」だと思ってる層から
意味不明な信者と、アンチが出てくるんじゃないかね

58 :
>>56
Factory MethodとStateぐらいは知っとこうよ

59 :
>>48
しなくていいけど
むしろシングルトンであることを意識しないで済む方がいいと思う
後でシングルトン(プロセス毎)からスレッドローカル(スレッド毎)に変える場合も楽

60 :
スレッドってどういうところに使ってるの?

61 :
>>58
んなもん聞いたことないわ

62 :
>>60
forkが使えない環境のときとか
GUIで重い処理中にキャンセルボタン出すときとか

63 :
>>60
ついぞ昔ならGUIプログラムの非GUI処理。
特にI/O関係。マルチプロセッサーやマルチコアが
現れてからは、並行処理で使われる事が増えつつ有る。

64 :
>>56
Singletonの方がよっぽど要らんだろうに・・・

65 :
結局はお互いのクラスでデータをやりとりできりゃ何でもできるようになった
シングルトンを知ってすべて解決した

66 :
グローバル変数より幾らかマシってものだしな
俺は実態がシングルトンでも
初期化引数かスレッドローカル経由かインジェクションで
xxxContextとかを渡す方が好み

67 :
>>61
Factory Methodを使うとC#におけるBeginInvokeみたいなことがサッと安全にできる
ていうかFactory Methodでクロージャを生成するのだと考えればマルチスレッド状況をスキーリ安全に扱える
Stateはキーマトリックスの処理ルーチンを書くのに個人的に重宝した
>>56
マルチスレッド状況下で呼ばれるSingletonは奥が深い…

68 :
フィライウェイトとか、ファクトリーとか入出力と組み合わせる事は有るけど、
クラスの外から見て状態を持ち変化があるものには絶対つかわんな
ループ中にどっか別の関数でシングルトンが書き換えられてたらデバッグしづらすぎる

69 :
グローバル変数がごく簡単に使える C++ でシングルトンとかマッチポンプすぎる。

70 :
グローバル変数を使うのが難しい言語の方が珍しいだろ

71 :
別にC++もJavaも変わらないよな
http://ideone.com/aOWhQ
http://ideone.com/rPUpT
グローバル変数に直よりかは関数経由でアクセスしたり仮想関数使える方が良いだろう
まぁグローバル変数もシングルトンも使わない方が良いけど

72 :
自前クラスはポインタ使わず全部参照でやっていますが、
メソッド関数を呼び出すコードを見て、
「この変数は値を渡しているだけなのか、書き換えられて返ってくるのかどうか」がぱっと見分かりません。
(引数がconstかどうか調べれば判断つきますが、面倒で付けずに済ますこともあるし、呼び出し側のソースを流し読みしてるときに分かりずらい)
書き換えないなら必ずconst、呼び出し側のソース見てるときは、メソッドにマウスカーソル合わせて引数をチェック、
というやり方しかないのでしょうか?

73 :
>>72
そういうことにならないように関数名や引数並び、引数に使う変数名をちゃんとつける。
どうやったところで関数宣言を見ないのなら正確に把握というわけにはいかない。

74 :
>>72
それを嫌って、書き換える場合はポインタ、書き換えない場合はconst参照、と使い分ける人もいる。
私の場合、関数名にgetなどが含まれていて戻り値のない関数は、一番目の引き数が書き換え対象だ。

75 :
bool hoge(){
bool result = false;
/* いろいろ処理*/

// 戻り値の用意
return (ioResult&&sockResult&&time<10);
}
なんて関数をコーディングした場合、
if(hoge())
ではなく、戻り値必要ないので
hoge();
なんて書いた場合は、コンパイラの最適化でvoid版hoge()を作って、returnの行を出力しない、
みたいなことはしてくれるんでしょうか?
普通にbool版hoge()が呼ばれて、普通に関数内全部実行して、戻り値はテンポラリかなにかに入れてすぐ捨てるんでしょうか?

76 :
>>75
return の式に非ローカルな副作用が一切無いのであれば、そういう最適化は可能ではある。
ただしあまり大きな違いにはならなさそうなので、実際に最適化されることは少なくとも現時点では
あまりないだろうと思うし、気にするべきでもないと思う。

77 :
最適化されたコードのレジスタ確認してください

78 :
>>75
そのhoge()が同一翻訳単位内から呼ばれた場合は、インライン展開される場合がある。
そのとき、そのreturn文には副作用がないので省略される可能性は高い。
# 一部のコンパイラでは、同一翻訳単位外からでも最適化されうる。
とは言え、void版のhoge()が用意されるわけではない。

79 :
>>75は無理だろ。
hogeがstatic関数とかでコンパイル単位内ローカルなら可能かも知れんが
やってるコンパイラは無いだろう。

80 :
ああそうかインラインなら最適化できるね

81 :
staticじゃなくてもVC++のLTCGとかならやってくれるんじゃね

82 :
>>81
確かにそうかも。試してないけど。
最適化技術って進んでるんだね。

83 :
Microsoft (R) C/C++ Optimizing Compiler ならDLLに入ってても
インライン展開してくれるし、親クラスにキャストしてるオブジェクトの
仮想関数ですらインライン展開してくれるからな。

84 :
オブジェクトファイルかなんかと勘違いしてんじゃないか

85 :
勘違いってなんの事を言っている?
インライン関数のインポートとエクスポート
http://msdn.microsoft.com/ja-jp/library/feffc7b5(v=vs.80).aspx

86 :
それはインライン関数をDLLに入れられるって話で
DLL内の関数をインライン展開できるって話じゃないだろ

87 :
意味が解らないの?
注意
インポート インライン関数は、DLL のバージョン間で矛盾することがあるので、
インライン関数のインポート時は注意が必要です。インライン関数は、アプリケーション コード内に展開されます。
このため、関数を書き直した場合は、アプリケーション自体をコンパイルし直さないと、
インライン関数は更新されません。通常、DLL 関数は、関数を使うアプリケーションをビルドし直さなくても更新できます。

88 :
それのどこがDLLの関数をEXE側でインライン展開できると読めるんだ?

89 :
namespaceの別名って、undefみたいに消せないのか?
どうせアセンブリコードに展開したときは、本来の名前空間の
名前になるんだから、不要になったら削除できてもいいだろうに

90 :
>>88
インライン展開しないなら、こんな事わざわざ書く必要ないだろ。
逆に「DLLにインライン関数定義してもインライン展開できません」と書くのが筋だろ。
>インポート インライン関数は、DLL のバージョン間で矛盾することがあるので
>。通常、DLL 関数は、関数を使うアプリケーションをビルドし直さなくても更新できます。

91 :
インライン関数を定義したヘッダとDLLが矛盾するケースがあるって話なんだが、それ
そもそも、リンク時に使うのはインポートライブラリであってDLLそのものは一切使わない

92 :
ヘッダーじゃねぇよ。cppに定義して、__dclspec(export) inline 〜と書いた関数でも取り込まれる。
DLLを参照してるアプリケーションをコンパイルするとき、DLLが参照できればぶっこ抜かれるんだよ。

93 :
韓国で貯蓄銀行4行また営業停止
仰天!会長は元偽ソウル大生、中国密航で逮捕
http://jbpress.ismedia.jp/articles/-/35163
自己資本比率5.6%、実はマイナス16.2%だった
営業処分の直前に漁船で密航を試みた会長の正体
金会長は、未来貯蓄銀行に対する営業停止処分が不可避と見て、かねて準備していた密航ルートを使って中国に逃亡しようとした。
金融委員会は未来貯蓄銀行など4つの貯蓄銀行を営業停止処分とした。
来貯蓄銀行の場合、粉飾決算を重ね、「5.67%」と発表していたBIS基準に基づく自己資本比率が実際はマイナス16.2%であることが明らかになった。
http://jbpress.ismedia.jp/articles/-/35163
◆貯蓄銀行とは庶民専用の銀行
貯蓄銀行(ちょちくぎんこう)とは、個人の貯蓄を引き受けることを主目的とする金融機関である。
庶民に対して倹約を奨励し貯蓄により生活を安定させるための公益的な金融機関。
http://ja.wikipedia.org/wiki/%E8%B2%AF%E8%93%84%E9%8A%80%E8%A1%8C

94 :
struct X {
const int x;
X(istream& is) try: x(read_int(is)) {
catch (何か) ...
}
const int read_int(istream& is) const {
int x;
is>>x;
if (x<0) throw 何か;
return x; }
};
int main()
{
X a(cin);//負の数が与えられるまで読み続ける
}
みたいなことってできませんか?

95 :
X(istream& is) {
int x;
for (;;) {
is >> x;
if (!cin) {
cin.clear();
cin.ignore( 1024, '\n' );
continue;
}
if (x < 0);
return ;
}
};

96 :
>>94
何がしたいの?

97 :
>>94
のポイントは、
- constメンバを初期化子を使って初期化していること
- tryブロックをそこにかまして、例外処理にしていること
です。
無論、95みたく普通にやればいいのだが。

98 :
>>95
はread_intね。いけてる気がする。

99 :
try {
cin >> x;
} catch (...) {
入力を求める
}
みたいなことを初期化子についてやりたかった。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
Ruby最高や! (191)
☆Raspberry Pi☆でプログラム1 (599)
日本語プログラミング言語『なでしこ』スレ5 (788)
EAを語るスレ (227)
J#って何のためにあるの? (152)
datファイルを共有するP2Pソフト o2on 17dat (316)
--log9.info------------------
☆三重県のミニバスケットボール2☆ (599)
【大濠】新チームトロージャンズ【片峯part4】 (132)
【デカバ】 Karmiami Cheatles 5 【コジキング】 (250)
◆プロバスケ!bjリーグtv◆ (445)
【来年へ】Charlotte Bobcats 7th【向けて】 (177)
JBLと協会が結果的に日本バスケの低下をもたらした (286)
【bjリーグで見た】キチガイ☆ブースターを語れ! (166)
【bjリーグ】ライジング福岡 part8【5シーズン目】 (657)
リッキー・ルビオについて語るスレpart2 (847)
岡山の中学、高校のバスケを語ろうPart@ (358)
【bjリーグ】琉球ゴールデンキングス【パルマーキター!!】Game23 (985)
bjリーグ【海賊船団】横浜ビー・コルセアーズA (693)
■なぜNumberはbjをとりあげないのか?■ (431)
Chicago Bulls vol.31 地区大会MVP? (702)
JBL −日本バスケットボールリーグ− (651)
星条旗よ永遠なれ■頑張れアメリカ代表 Part3 (435)
--log55.com------------------
ノートPC板なんでも質問スレ 21
【HUAWEI】MateBook Part7
HP ENVYシリーズ Part10
test
test
【テスト】れんしゅうノート@ノートPC板 その2
Pyraについて語るスレ
【HP】 Elite x2 1012G1 Part.2【タブレット】