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

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2016/08/13(土) 11:24:45.65ID:NPYsKJkE
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512

C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。

前スレ
C++相談室 part125
http://echo.2ch.net/test/read.cgi/tech/1463761261/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.99【環境依存OK】
http://echo.2ch.net/test/read.cgi/tech/1469177649/

■長いソースを貼るときはここへ。■
 http://codepad.org/
 http://ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
0652デフォルトの名無しさん2016/09/09(金) 16:15:29.42ID:iGJJBn3T
最近、生のconstructorは晒さずに、面倒でもfactoryかbuilder用意したほうが良い気がしてきた。
0653デフォルトの名無しさん2016/09/09(金) 18:00:44.85ID:6P7ccOtX
>>651
そんなのあったっけ?
0654デフォルトの名無しさん2016/09/09(金) 18:52:54.42ID:Sz+zzzeN
>>653
参照
0655デフォルトの名無しさん2016/09/09(金) 19:28:06.08ID:xbXKfh8v
複合型をビルトイン型と称すとは
頭の悪さに恐れ入る
0656デフォルトの名無しさん2016/09/09(金) 19:54:51.32ID:2SLUNITP
ビルトインをビルトイン型と見間違うとは
目の悪さに恐れ入る
0657デフォルトの名無しさん2016/09/09(金) 20:18:37.35ID:Sz+zzzeN
>>655
ビルトイン型って知らないけど Fundamental Types のことを言ってる?
0658デフォルトの名無しさん2016/09/09(金) 20:24:24.90ID:G0RBn0pa
N3797でbuilt-inを検索すると...
oeratorsが必ずついてくるな
そりゃ悪かった

class宣言せずに使える型、そう言いたかっただけだ
0659デフォルトの名無しさん2016/09/09(金) 21:49:08.07ID:Hwi6cA5k
const int i{100}; // 初期値必須
0660デフォルトの名無しさん2016/09/10(土) 13:58:51.44ID:qsgFq9Gu
関数の引数と戻り値はstd::stringとかではなくconst char*を使うべきというのを見つけたんだけど正しいのか?
0661デフォルトの名無しさん2016/09/10(土) 14:05:38.05ID:fEVz11Vc
C++で作られたdll(関数が色々定義されてるやつ)をC++の別プログラムAに読み込ませる
プログラムAに対してjavascriptで使用する関数を指定してってのをやりたいけどできるのかな

プログラムAはただjavascriptを指定するだけと結果出力
javascriptはどの関数をどんな引数で実行するかを指定する
スクリプトってのをよく理解してないからアドバイスほしい
0662デフォルトの名無しさん2016/09/10(土) 14:15:01.34ID:TwDosbdA
>>660
ソイツはバカ
0663デフォルトの名無しさん2016/09/10(土) 14:26:38.33ID:pUoIS14d
>>660
fstreamをstringに依存させないために
C++98ではopenの引数がconst char*だが
C++11ではstringを渡せるようになったので
fs.open((string(
0664デフォルトの名無しさん2016/09/10(土) 14:27:46.41ID:pUoIS14d
fs.open((string("filename") + ".ext").c_str(), ios_base::in)が
fs.open( string("filename") + ".ext , ios_base::in)で
済むようになり結構便利だね
stdの作者じゃない一般ユーザな俺らにとって、
std同士での相互依存は別に構わんのに無駄に不便だったのがC++98

独善的な「正しさ」を誰も喜ばない例だと思うぜ
0665デフォルトの名無しさん2016/09/10(土) 14:28:54.01ID:pUoIS14d
あ、引用符が閉じてない・・・ 許せ
0666デフォルトの名無しさん2016/09/10(土) 20:03:47.79ID:fxMjDbn4
右辺値参照が使えるようになったし、クラスオブジェクトをそのまま返してもオーバーヘッドにはならんでしょ
0667デフォルトの名無しさん2016/09/10(土) 20:40:19.15ID:LBKbagU5
typedef enum
{
kOne = 1,
kTwo,
kN
}e;

const int n[kN]={0,100,200};

template <int N> class A
{
public:
int a[N];
};

int main()
{
A<n[kOne]> a;
return 0;
}

こんな感じのやりたんだけどnが非constだって怒られる
なにか代案ありません?
0668デフォルトの名無しさん2016/09/10(土) 20:45:26.68ID:QhorBMPI
>>667
constexpr int n[kN]={0,100,200};
06696672016/09/10(土) 20:51:12.77ID:fvQgZoM4
うちのVS2010ちゃんがそんなもの知らないと言っております
0670デフォルトの名無しさん2016/09/10(土) 20:57:30.16ID:QhorBMPI
>>669
template<int N> struct constant { static const int value = N; };
template<int N> struct n;
template<> struct n<kOne> : constant<100> {};
template<> struct n<kTwo> : constant<200> {};

A<n<kOne>::value> a;
06716672016/09/10(土) 21:00:17.01ID:fvQgZoM4
>>670
よさそう
ありがとうございます
0672デフォルトの名無しさん2016/09/10(土) 23:13:18.30ID:LzJTocys
>>660
それはその言葉の真意を理解すれば正しくもあり正しくもなし
0673デフォルトの名無しさん2016/09/11(日) 00:28:13.04ID:bDOLl/8E
引数はともかく、戻り値を常にconst char*にするのはつらい
メンバ変数で持ってるものだったらconst char*で返せるけど
関数内でジェネレートした文字列だったらどうするんだ?
0674デフォルトの名無しさん2016/09/11(日) 00:32:24.15ID:bDOLl/8E
void func( char *output, int max_buffer )
↑こんなインターフェースもあり得るけど
呼び出すときに一体バッファサイズをどのぐらい用意すれば良いんだ?
という問題が出る
関数内でmallocして返す方法もあるけど
呼び出しもとで開放しなきゃならないから嫌だ
std::string使いましょうよ
0675デフォルトの名無しさん2016/09/11(日) 00:44:49.84ID:T7xxiiqM
うちの会社にいるレガシープログラマもクラスを引数にするのを嫌うな
0676デフォルトの名無しさん2016/09/11(日) 01:12:15.86ID:NvSd/4YA
税金泥棒は、RMPについて何も理解できていない
分からないくせに、ひたすらコピペを繰り返す
突っ込んだ話を始めると、チンプンカンプンで付いて来れなくなる
0677デフォルトの名無しさん2016/09/11(日) 01:30:52.05ID:Y3qTK8mc
gccはC++11のmoveとかつかわんでも、呼出側がスタックに用意したところに
せっせと返値を書き込んでるのでクラスを返値にしたところでcopyとか余計なことはしないな。
0678デフォルトの名無しさん2016/09/11(日) 06:19:48.63ID:Cz5G8II8
コピーする必要がなかったかも知れないのにコピーしておいて余計なことはしていないとな
0679デフォルトの名無しさん2016/09/11(日) 08:52:00.54ID:uFO7Kr12
返り血にmove使うと事態は悪化
0680デフォルトの名無しさん2016/09/11(日) 10:11:38.91ID:5FDuUIWg
拭き取ろうと擦れば擦るほど赤く血塗られた範囲が広がって…。
0681デフォルトの名無しさん2016/09/11(日) 13:09:13.01ID:QVUfpLVG
特定の関数があるなしで呼び出す関数をわけたいのですけど方法はありますか

template<typename T> void hoge(T val)
{
val.hage(0);
}

template<typename T> void hoge(T val)
{
val.husa(100);
}
0682デフォルトの名無しさん2016/09/11(日) 13:55:18.24ID:KOEkGnWi
SFINAE使えばできる
0683デフォルトの名無しさん2016/09/11(日) 14:53:31.90ID:h0ayt47M
コードではSSE命令をまったく使わず、コンパイラ最適化でSSE使ってもらいやすくする方法って
どこかに書いてありますか?
0684デフォルトの名無しさん2016/09/11(日) 15:31:44.83ID:9/O5tJ2a
type_traitsのテストクラスばかり使っていたらSFINAEの書き方忘れた
0685デフォルトの名無しさん2016/09/11(日) 15:50:46.32ID:hGR6Mbre
>>683
https://msdn.microsoft.com/ja-jp/library/7t5yh4fd.aspx
0686デフォルトの名無しさん2016/09/11(日) 22:14:42.57ID:OIs9p1U8
void func( char *output, int max_buffer )

これはさ、max_bufferで指定した範囲で対応出来るようにするための引数だろ
呼び出す側でintの範囲なら自由に決められるに決まってるだろ
0687デフォルトの名無しさん2016/09/11(日) 22:19:35.02ID:m0F7Ld2f
↑アスペ
0688デフォルトの名無しさん2016/09/11(日) 22:20:45.93ID:OIs9p1U8
いやいや、outputの最大値を一緒に渡すのは常識だろう
0689デフォルトの名無しさん2016/09/11(日) 22:25:57.81ID:2EFm3ZKd
要するに、
char b[128];
func(&b[16],128-16);
ってやって、特定の範囲で処理できるのも利点だろうといってるんだと。
あんまりやらないけど。
0690デフォルトの名無しさん2016/09/11(日) 22:34:43.72ID:T7xxiiqM
文字列クラスでもできるけど
0691デフォルトの名無しさん2016/09/11(日) 22:37:36.83ID:2EFm3ZKd
substrだっけか?
0692デフォルトの名無しさん2016/09/11(日) 22:38:54.98ID:m0F7Ld2f
『要するに』
超能力者>>689のオツムが心配だ
0693デフォルトの名無しさん2016/09/11(日) 22:40:38.21ID:2EFm3ZKd
チガッテマスカ?
0694デフォルトの名無しさん2016/09/11(日) 22:43:30.84ID:m0F7Ld2f
>>693
>>689の解釈は
『max_bufferで指定した範囲』
『intの範囲なら自由に』
という表現と整合しない。
0695デフォルトの名無しさん2016/09/11(日) 22:45:10.47ID:2EFm3ZKd
オーバーフローを指定するような間抜けなことをわざわざするんかいな。
0696デフォルトの名無しさん2016/09/11(日) 22:46:59.51ID:m0F7Ld2f
>>695
>>688は「intの最大」でなく「outputの最大」と言っているのだが
0697デフォルトの名無しさん2016/09/11(日) 22:48:58.46ID:2EFm3ZKd
>>686の頭にはなんか特殊用途でもよぎったんじゃね?
俺が懇意すぎたかな・・・。Orz
0698デフォルトの名無しさん2016/09/11(日) 22:51:16.46ID:m0F7Ld2f
深い意味はない
単に>>674を見て並んでいた単語に連想した自分の知識を反射的に書き込んだだけ
0699デフォルトの名無しさん2016/09/11(日) 22:54:31.75ID:2EFm3ZKd
俺は>>686ではない。それはそうかもな。
俺はC++ではstd::まで書くStl派なので、このところ生配列は使ったことがない。
というか、オーバーフロー怖くて使いたくない。
0700デフォルトの名無しさん2016/09/11(日) 23:01:21.72ID:67F7MmNh
生配列を使ったことないってことはないだろ
インターフェースにstlのコンテナとかを露出したらコンパイラ依存になっちゃうじゃん
てか高速に処理したくてスタックに配列を積みたいときとかどうするわけ?
0701デフォルトの名無しさん2016/09/11(日) 23:04:52.03ID:2EFm3ZKd
競プロ解いてるだけだから問題にならん。
まぁ、しばらく黙るわ。
0702デフォルトの名無しさん2016/09/11(日) 23:09:47.79ID:OIs9p1U8
俺が言いたかったのはだね、

void func( char *output, int max_buffer )

のようにchar *outputを渡すような時は、
バッファオーバーフローを防ぐために一緒にサイズも渡すってのが、
C言語での使い方では常識化してるって事だ。
0703デフォルトの名無しさん2016/09/11(日) 23:12:11.14ID:m0F7Ld2f
わざわざ補足しなくても
そんなことはみんな知ってるから
0704デフォルトの名無しさん2016/09/11(日) 23:14:19.23ID:OIs9p1U8
>>674 が変な事言ってたからだ
0705デフォルトの名無しさん2016/09/11(日) 23:17:06.20ID:67F7MmNh
競プロでSTLコンテナなんて使うか??
アルゴリズムとかはそのまま使えるけどコンテナは普通生配列か必要に応じて自前の使うだろ?
0706デフォルトの名無しさん2016/09/11(日) 23:19:39.01ID:2EFm3ZKd
ガチ勢じゃないからね。
最近ではリングバッファほしい位で満足してるよ。
STLコンテナで解けないなら、アルゴリズムが悪い事が多い。
0707デフォルトの名無しさん2016/09/11(日) 23:20:05.58ID:m0F7Ld2f
>>704
>674の懸念は別に変じゃないぞ
変なのは>>674を理解できなかったお前だ
0708デフォルトの名無しさん2016/09/11(日) 23:20:10.89ID:T7xxiiqM
>>700
規格準拠度が低いクソみたいなコンパイラを使わない
0709デフォルトの名無しさん2016/09/11(日) 23:22:00.72ID:m0F7Ld2f
どうしたいきなり
>>700も関係無いことを言いだして
0710デフォルトの名無しさん2016/09/11(日) 23:22:32.77ID:m0F7Ld2f
誤 700も
正 700と
0711デフォルトの名無しさん2016/09/11(日) 23:23:32.91ID:OIs9p1U8
>>707
いやいや、おかしいよ。
void func( char *output, int max_buffer )
を使うのにバッファを意識しないプログラムとかありえないだろ

バッファがどのくらいか分からんのに
void func( char *output, int max_buffer )
とか間違ってるだろ。

これCの使い方だぞ
0712デフォルトの名無しさん2016/09/11(日) 23:28:22.83ID:T7xxiiqM
>>705
競プロなんていうマイナー分野の話なんかしてないし
実行時間のほとんどはアルゴリズム依存なんだから1%未満のオーバーヘッドが影響するわけが無い
固定長配列はarrayを使うべきだし、動的にサイズを変えないといけない場合vectorでまとめて確保して普通のnewした配列として使えばいい
他人の競プロのコード見たら使いまくってるしな
0713デフォルトの名無しさん2016/09/11(日) 23:39:10.29ID:m0F7Ld2f
>>711
よくわかった
>>674の『バッファサイズをどのぐらい用意すれば良いんだ?という問題が出る』
を単語レベルに近い連想で文を捉えるから珍妙な解釈になる
レスを100回読み直せ
0714デフォルトの名無しさん2016/09/11(日) 23:46:15.15ID:M5lO5IQC
ID:2EFm3ZKdの背伸びが痛々しい。
このスレで一番出来ない子が何をいっちょまえにレスしてんだか…。
なぁーにが「競プロ解いてるだけ」だよド素人が。
0715デフォルトの名無しさん2016/09/11(日) 23:48:48.59ID:OIs9p1U8
>>713
だからよ、
>バッファサイズをどのぐらい用意すれば良いんだ?という問題が出る
って言うような疑問がおかしいんであって、

void func( char *output, int max_buffer)

はサイズを指定して使うもんだ。それ以外にあるかよ。
パターンもパターンやんけ。

バッファサイズがわからん状態で、、
void func( char *output, int max_buffer)ってのはあり得ないんだよ
0716デフォルトの名無しさん2016/09/11(日) 23:49:06.36ID:2EFm3ZKd
>>714
はっはー。おだいじんさまぁ〜。
0717デフォルトの名無しさん2016/09/11(日) 23:54:09.86ID:IuKZJB78
>>715
別の関数で必要なサイズを返すのか?
変更が別スレッドだったら、さらにロック、アンロックの関数がそれぞれ必要になるな。
0718デフォルトの名無しさん2016/09/12(月) 00:00:05.72ID:JmiC7f4k
じゃー背伸びついでに言っとくわ。
その関数voidだから失敗したかどうかわからんから、バッファ入力サイズを推定できない。
ドキュメント読め。
0719デフォルトの名無しさん2016/09/12(月) 00:03:56.69ID:JmiC7f4k
チッ間に合わなかった。
0720デフォルトの名無しさん2016/09/12(月) 00:04:01.94ID:GwVwE6OL
いやいや、
void func( char *output, int max_buffer)
ってのは

char *output に結果を返すんだよ。
そんなのもわからんのか。

max_bufferはオーバーフローを防ぐための物だ。
何を言ってんだ一体
0721デフォルトの名無しさん2016/09/12(月) 00:04:29.54ID:hz43BbCS
例外使わないのか
初心者なのかレガシープログラマなのか
0722デフォルトの名無しさん2016/09/12(月) 00:04:37.05ID:Tu0jZEI4
>>715
その部分の日本語の理解が間違っているとわざわざ教えてやっているのに
他にどういう理解があり得るのかも考えずゴミレスを繰り返すとは
アスペなだけでなくて荒らしのつもりなのか?
0723デフォルトの名無しさん2016/09/12(月) 00:05:58.76ID:JmiC7f4k
>>720
そんなちゃんぽん仕様にしなくても戻り値一個設定すれば済む話じゃないか。
汚いと思う。
0724デフォルトの名無しさん2016/09/12(月) 00:07:03.07ID:GwVwE6OL
Cやってたらvoid func(char *output, int max_buffer)なんてパターンだろ。
基本中の基本だろ。
0725デフォルトの名無しさん2016/09/12(月) 00:08:06.86ID:JmiC7f4k
染まってるのか。
まぁいいや。
黙るって言ったから黙る。
0726デフォルトの名無しさん2016/09/12(月) 00:08:07.10ID:WISOHly2
723 : デフォルトの名無しさん 2016/09/12(月) 00:05:58.76 ID:JmiC7f4k
>>720
そんなちゃんぽん仕様にしなくても戻り値一個設定すれば済む話じゃないか。
汚いと思う。
0727デフォルトの名無しさん2016/09/12(月) 00:09:36.24ID:Tu0jZEI4
バッファサイズ指定の関数で溢れた時に例外をスローするのは珍しいな
Visual C++の_s関数の配列オーバーロードはそんな仕様だった気もするが
0728デフォルトの名無しさん2016/09/12(月) 00:09:38.22ID:WIrRwO5G
>>715
https://msdn.microsoft.com/ja-jp/library/cc429127.aspx
バッファサイズを指定できても、結果を正しく格納するのに必要なバッファサイズはわからない
ってことはあるんだよ。
0729デフォルトの名無しさん2016/09/12(月) 00:11:17.09ID:GwVwE6OL
void func( char *output, int max_buffer)
これはさ、max_buffer以内で絶対に納めるって前提があるんだよ。
その為のmax_bufferだぞ。

max_bufferの指定が間違ったらエラーなんだよ。
他にどういう使い方あるんだよ
0730デフォルトの名無しさん2016/09/12(月) 00:11:25.69ID:XcxNhSoL
>>728
マクロでパスの最大規定されてる
0731デフォルトの名無しさん2016/09/12(月) 00:13:42.09ID:GwVwE6OL
結果を正しく格納するのに必要なバッファサイズが、max_bufferだろ。
char *outputのサイズがmax_buffeなんだよ

char *outputがオーバーフローしないように、max_bufferを上限に処理をして、
char *outputで返せばオーバーフローしないって仕組みなんだよ。
0732デフォルトの名無しさん2016/09/12(月) 00:14:04.49ID:Tu0jZEI4
まさか>>728のやさしいレスを見てもまだ世迷い言が続くとは
これはホンモノだ
0733デフォルトの名無しさん2016/09/12(月) 00:18:26.76ID:GwVwE6OL
おまえなにもわかってないだろ。
何ひとつ自分で説明してないだろ。
0734デフォルトの名無しさん2016/09/12(月) 00:21:57.49ID:U6Ajls88
>>732
老害プログラマによくいる切り捨てられても気にしない、切り捨てによって発生したバグが確認されて初めてバッファーサイズをプログラム内の定数値で変更する人なんでしょ。

C++使ってるなら正しく処理する為には多大な面倒が発生する手法なんて使うなって事なんだけど老害にはそれが理解出来ないらしい。
0735デフォルトの名無しさん2016/09/12(月) 00:22:27.92ID:/3fOrQXc
max_bufferがあるからバッファオーバーフローを防ぐことが出来る
逆にmax_bufferが効果を発揮する状況というのは
結果を正しく格納するのに必要なバッファサイズがmax_bufferを越える時だ
従って>>731の最初の行は間違っている
0736デフォルトの名無しさん2016/09/12(月) 00:23:39.94ID:XcxNhSoL
最大値をどうすればいいのかって話でしょ
728の例だと別の場所で最大値は決まってる
でもバッファサイズ3とか小さすぎると欲しい情報は帰ってこない
当然オーバーフローはしないけど
0737デフォルトの名無しさん2016/09/12(月) 00:27:04.07ID:feiUf+9B
バッファっていう概念がちょっとズレてんのかもな
Cやってる人はコップでプールの水をすくうとき
コップがバッファだ
コップの大きさで回数を重ねてすくう
コップを最大まで大きくしなきゃいけないとか
必要なコップサイズは、などとは考えない
それがバッファ
0738デフォルトの名無しさん2016/09/12(月) 00:28:34.40ID:Tu0jZEI4
>>730
文脈を理解できない低能は去れ

>>733
健常者なら『レスを100回読み直せ』で理解できると思ったので敢えて説明しなかった失礼
では説明してやろう
<呼び出し側>
 vector<char> result(★);
 func ( &result[0], result.size() );
>>674はこの★をどう決定するかが
呼び出し側コードを書く者の負担になると言っている
0739デフォルトの名無しさん2016/09/12(月) 00:28:41.75ID:GwVwE6OL
だからよ、C++の使い方で
void func( char *output, int max_buffer)
を使おうとすれば、Cのバッファを意識する使い方以外に無いだろ。

それをストリングクラスの代わりに
void func( char *output, int max_buffer) を使う手ももあるが、
バッファのサイズをどうするかが問題、とか言ってるから、

そういう使い方はしないし間違ってるって言ってんだろがよ
0740デフォルトの名無しさん2016/09/12(月) 00:30:38.58ID:GwVwE6OL
void func( char *output, int max_buffer)
これはよ、char *outputのサイズを意識しない限り、動かせないプログラムだよ

このサイズが分からない時に、
void func( char *output, int max_buffer) を使うってのは無いんだよ
それをあるって言うから、無いって言ってんだよ 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
0741デフォルトの名無しさん2016/09/12(月) 00:35:45.75ID:XBLhc0H+
>>740
一旦これだけは言っておくが
おまいの言っていることは正常でしかもごくあたりまえのこと
おそらくその点を繰り返す必要はもうないし
そのことはみんな分かってる

読み込む前にサイズ分からないものがあるよね?
そのときは固定サイズじゃ読み込めないよね、
的なことをおまいの相手は繰り返し言ってるんじゃないか?
配列に対するベクタの利点みたいな部分を言いたがってる気がする
0742デフォルトの名無しさん2016/09/12(月) 00:40:53.14ID:XcxNhSoL
最大値がどっかで決まってるか、outputにヌルいれると必要なサイズ返るとかが普通じゃね
その関数だけじゃ必要なサイズがわからんというお話
パスが欲しいのにバッファ小さすぎてドライブレターだけ返ってきても意味無いわけで
0743デフォルトの名無しさん2016/09/12(月) 00:43:58.37ID:GwVwE6OL
void func( char *output, int max_buffer)
を使う前にはサイズを把握してないと駄目ってだけだよ。

それが把握できんのにこういうCライクな使い方は間違ってるって俺は言ってるだけだよ
0744デフォルトの名無しさん2016/09/12(月) 00:47:09.50ID:hz43BbCS
C言語的なインターフェイスは不便だからC++らしく書きましょう
0745デフォルトの名無しさん2016/09/12(月) 00:47:23.61ID:U6Ajls88
>>743
格納サイズを把握してたらmax_bufferなんて要らなくね?
0746デフォルトの名無しさん2016/09/12(月) 00:51:26.47ID:GwVwE6OL
>>745
いやオーバーフロー対策の最大値だから
引数で明示的にサイズを渡しましょうって取り決めだ
0747デフォルトの名無しさん2016/09/12(月) 01:02:10.22ID:Tu0jZEI4
>>743の達した結論が
>>674とほぼ同じに思えてならない
0748デフォルトの名無しさん2016/09/12(月) 01:10:30.26ID:hz43BbCS
いまさらそんな40年前からある常識を言われも困る
0749デフォルトの名無しさん2016/09/12(月) 01:13:36.21ID:WIrRwO5G
>>730
>728 で挙げた MSDN のページにそんな規定は見当たらないんだけど、どこ見て言ってるの?
MAX_PATH の類のことを言ってるなら、よくある勘違いだろうと思うんだ。
https://www.google.com/search?q=GetModuleFileName+MAX_PATH
http://d.hatena.ne.jp/satosystems/20100807/1281152224
0750デフォルトの名無しさん2016/09/12(月) 06:52:52.36ID:y21Asc3i
MAXPATH があてにならんのは確かだが
サイズ取得せずにリトライするのもダメ臭が
0751デフォルトの名無しさん2016/09/12(月) 08:08:53.69ID:46mLPt5D
書き込んだサイズを返すくせに必要なサイズを
調べる機能が規格に無いstd::mbstowcsはクソ
■ このスレッドは過去ログ倉庫に格納されています