[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 10/30 03:13 / Filesize : 322 KB / Number-of Response : 1026
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part129



1 名前:デフォルトの名無しさん(ワッチョイ dfcf-HvS5) mailto:sage [2017/01/09(月) 14:49:27.56 ID:p96WJVyd0.net]
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512

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

前スレ
C++相談室 part128
echo.2ch.net/test/read.cgi/tech/1480172629/

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

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

[C++ FAQ]
https://isocpp.org/wiki/faq/
www.bohyoh.com/CandCPP/FAQ/ (日本語)
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured

267 名前:デフォルトの名無しさん (ワッチョイ 937b-aC2u) mailto:sage [2017/02/03(金) 21:43:49.02 ID:flkT/o5k0.net]
>>260
>>261の前者・後者両方ともある
あと色々な名前で__stdcallが切られてたりして読むのがきつい

268 名前:デフォルトの名無しさん (ワッチョイ a37b-jpzQ) [2017/02/03(金) 22:05:00.81 ID:ubtIaYbs0.net]
ちなみにお前らの思うきれいなソースって具体的にどれよ

269 名前:デフォルトの名無しさん (スッップ Sd9f-oUAv) [2017/02/03(金) 22:11:40.27 ID:7t2mdctmd.net]
glm

270 名前:デフォルトの名無しさん (ワッチョイ cf24-1aN8) [2017/02/03(金) 22:55:16.36 ID:aXFSiqlm0.net]
261が言ってるのは
システムハンガリアンとアプリケーションハンガリアンてことだ
ハンガリー記法に限らず意味づけと言うまでもないことを
どう位置づけるべきかってこと

271 名前:デフォルトの名無しさん (ワッチョイ c35b-0MWP) mailto:sage [2017/02/03(金) 23:39:20.39 ID:CYbB7nGp0.net]
>>255
変更しやすくする為じゃないの?
一箇所でそれ関連を纏めて変更したいんでしょ。
今は偶々同じ std:vector<int> なだけで。

272 名前:デフォルトの名無しさん (ワッチョイ 1302-1ST5) mailto:sage [2017/02/04(土) 00:17:30.98 ID:DV7gEIN40.net]
m_ulDataCntとか全く意味を持たない変数名が多用されてて辛いわ
コメントも無い

273 名前:デフォルトの名無しさん (ワッチョイ ffc0-Sup+) mailto:sage [2017/02/04(土) 05:48:10.84 ID:/r5Uxr2+0.net]
>>264
ソースは俺

274 名前:デフォルトの名無しさん (ワッチョイ 937b-aC2u) mailto:sage [2017/02/04(土) 06:49:15.89 ID:JWHU8o9P0.net]
>>267
なんか小難しい
定義されたものをさらに定義して
さらにさらに定義してってのをやってるのも同じなんかな?
見たことない型を追うだけで何ヵ所も追わないといけなくて大変
コメントもないし

275 名前:デフォルトの名無しさん (ワッチョイ d3dc-0e9Z) mailto:sage [2017/02/04(土) 07:32:17.23 ID:uizo/+L30.net]
>>268
字面だけで推測するなら m_ulDataCnt は
m_ クラスのメンバ変数である
ul unsigned long
DataCnt データの個数
てな感じに見えるね。

元のソースファイルが一貫した命名規則を使ってれば
それがどんな規則であれ、見てるうちに慣れてくると思うよ。



276 名前:デフォルトの名無しさん (ワッチョイ 7fcc-ysPd) mailto:sage [2017/02/04(土) 07:39:17.67 ID:6QMeFViK0.net]
クソみてぇな命名規則

277 名前:デフォルトの名無しさん (ワッチョイ c35b-0MWP) mailto:sage [2017/02/04(土) 08:42:25.92 ID:UEIbCXwH0.net]
>>270
基本的にはそうでしょ。
ある物をdoubleにするかfloatで済ますかという場合、系統毎にtypedefをしてそれを使うしかない。
クラスの継承も同じだと思うけど。

というか読み方間違ってるだろ。まずは縦に読まずに横に読めよ。
そしてそれ以前に上司に聞けよ。
どのみちソースは出せないのだろうから、ここでいくら

278 名前:聞いてもかなり憶測を含んだ回答しか得られない。

コメントが無いのを問題に思うのなら、コメントを付けるのもお前の仕事だろ。
ただ正直言って、m_ulDateCntは>>271の言うとおりだろうし、そんなところにコメントがあっても嬉しくない。
多分君とそのソースでコメント作成基準に大幅にずれがある。
それは上司と打ち合わせしないと駄目だ。
最近の傾向としては、「コード読めば分かることをコメントするな!」みたいなのがあるが、
君はまさにその類のコメントを付けようとしている。
ただ逆に、何事であってもコメントを付けて二重化し「間違っていない」事を示す文化の所もある。
いずれにしても合わせるしかないんだから上司に聞け。
[]
[ここ壊れてます]

279 名前:デフォルトの名無しさん (ワッチョイ a37b-jpzQ) [2017/02/04(土) 08:49:53.56 ID:XS0fIkHD0.net]
とりあえずシステムハンガリアンは糞

280 名前:デフォルトの名無しさん (ワッチョイ cf24-1aN8) [2017/02/04(土) 10:35:39.62 ID:BOsvOfBI0.net]
doubleかfloatかに迷いがあるときはtemplateだろjk

281 名前:デフォルトの名無しさん (ワッチョイ cf6b-aC2u) mailto:sage [2017/02/04(土) 20:11:06.99 ID:tL9rMbFt0.net]
>>271
こういうの読めるようになりたい
アンダーバーとかなんか特徴あるんかね?

282 名前:片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK67-DkDD) mailto:sage [2017/02/04(土) 20:13:21.29 ID:sK4bvJ1nK.net]
>>276
MFCのソース見れば時代遅れのハンガリアンが見れる。

283 名前:デフォルトの名無しさん (ワッチョイ 7fcc-ysPd) mailto:sage [2017/02/04(土) 20:29:05.55 ID:6QMeFViK0.net]
MSのバカ社員が勘違いしてシステムハンガリアンが出来た

284 名前:デフォルトの名無しさん (ワッチョイ c35b-0MWP) mailto:sage [2017/02/04(土) 20:32:51.09 ID:UEIbCXwH0.net]
>>276
むしろどこが読めないんだ?
271以外の解釈はないだろ。

285 名前:デフォルトの名無しさん (ワッチョイ 7f3c-ZDta) mailto:sage [2017/02/04(土) 20:36:47.66 ID:pJMir97a0.net]
>>276
パターン認識って言うか慣れでしょ
いろんなソース見てりゃだんだんなれてくるよ



286 名前:デフォルトの名無しさん (ワッチョイ cf6b-aC2u) mailto:sage [2017/02/04(土) 20:37:44.99 ID:tL9rMbFt0.net]
ハンガリアンってなんだ
ってレベルで初めて見るわ

>>279
それは規則とか法則とか知ってるから読めるんだろ
大まかに言えば経験が違いすぎる
なら読めよって話だけどさ

287 名前:デフォルトの名無しさん (ワッチョイ 1341-qcXh) [2017/02/04(土) 20:41:51.99 ID:URlnQv8F0.net]
場合によってはハンガリアン記法にすべきものもあるかもしれないけど
全ての変数に対してやるのはどうなんでしょ?

288 名前:デフォルトの名無しさん (ワッチョイ 1302-1ST5) mailto:sage [2017/02/04(土) 21:08:08.22 ID:DV7gEIN40.net]
クラスの先頭にCを付けるのだけは全くの無駄だからやめて

289 名前:デフォルトの名無しさん (ワッチョイ a37b-jpzQ) [2017/02/04(土) 21:13:17.38 ID:XS0fIkHD0.net]
>>282
それでもulとか環境によってサイズが変わる名前付けるのイミフだけどな

290 名前:デフォルトの名無しさん (ワッチョイ c35b-0MWP) mailto:sage [2017/02/04(土) 21:14:27.75 ID:UEIbCXwH0.net]
>>281
いや多分、そのソース見たらそんなんばっかだから大体分かると思うぞ。

一応説明しておくと、
m_: method_ の略。(member_かも?)
頭に付けたらインテリセンスでソートされて便利とか言っていた奴もどこかのスレにいたはず。
(メソッドなのかフィールドなのか一目瞭然ということらしい。既に出ているが頭のCもそういう理由)
他でもルール的に「頭に」何か付けるのはよくある話。
MSのVC++のローカル拡張なら __int64 とか、頭に __(二重アンダースコア) がついている。
googleだとprivateは頭に _ だったかな?
(なおgoogleはメソッドは動詞、フィールドは名詞を使えとか言っていたはず)
サフィックスはユーザーが勝手に使い、プリフィックスはシステム側でルールとして使う。

ulはそのまま unsigned long の略。Cなら元の型は数種しかないから想像はつくだろ。
DataCntはDataCountの略。短くする時には母音(aiueo)を抜く。(子音だけでも何となく分かるから)

そんなに経験の差って程の物でもないと思うが。
もっとも俺は無駄に頭に付けたり略したりしないので、このルールなら嫌いだが。

291 名前:デフォルトの名無しさん (ワッチョイ a37b-jpzQ) [2017/02/04(土) 21:24:54.38 ID:XS0fIkHD0.net]
補足
* グローバルスコープでアンダースコアで始まる
* アンダースコアで始まって大文字が続く
* 二重アンダースコアを含む
に合致する名前は規格で処理系によって予約されてるからコンパイラとそれに付属する標準ライブラリーを実装する人以外は使っちゃダメ

292 名前:デフォルトの名無しさん (ワッチョイ 7f3c-ZDta) mailto:sage [2017/02/04(土) 21:42:33.76 ID:pJMir97a0.net]
>>285
> m_: method_ の略。
そんなわけないだろ...

293 名前:デフォルトの名無しさん (ワッチョイ ffc0-Sup+) mailto:sage [2017/02/05(日) 00:12:45.37 ID:NucUcCyo0.net]
グーグルはメンバ変数の最後に_
クソ過ぎわろた

294 名前:デフォルトの名無しさん (ワッチョイ 7fc1-AkR4) mailto:sage [2017/02/05(日) 00:14:15.03 ID:nBEZPMY50.net]
>>288
結構あるくね?
インスタンスに付けるてのもよく見る

295 名前:デフォルトの名無しさん (ワッチョイ 3342-fOGj) mailto:sage [2017/02/05(日) 00:41:54.55 ID:mLcywPgQ0.net]
>>288
え、なんで?
this->でもいいけど



296 名前:デフォルトの名無しさん (ワッチョイ cf6b-aC2u) mailto:sage [2017/02/05(日) 00:56:14.90 ID:6qCMRDqV0.net]
アンダーバーを変数に付けるのは慣れないと気持ち悪く見えるな
今は慣れたけどなんでついてるかなんて考えたことがない

297 名前:デフォルトの名無しさん (ワッチョイ 7f3c-ZDta) mailto:sage [2017/02/05(日) 00:58:41.61 ID:PGIZ+KFZ0.net]
>>289
そこそこある
>>288 が井の中なだけ

298 名前:デフォルトの名無しさん (ワッチョイ cf6b-aC2u) mailto:sage [2017/02/05(日) 00:59:09.67 ID:6qCMRDqV0.net]
途中で投稿しちゃった
考えたことないなんて人も居るんじゃないの?と...俺が考えなさすぎてるだけか...

>>285
二重アンダーバーもよく見かけるけどなんでわざわざ二重つけてんだよ!!!っていつも思う

母音抜くルールわかりやすかった
変に短いやつ見付けたら母音考えたら良いんだね

299 名前:デフォルトの名無しさん (スップ Sd9f-oUAv) [2017/02/05(日) 00:59:12.87 ID:rJZpHJC7d.net]
m_xxxでもxxx_でもメンバである保証全くないからthis->派

300 名前:デフォルトの名無しさん (ワッチョイ 7f7b-1ST5) mailto:sage [2017/02/05(日) 01:01:31.92 ID:WpCJ+nTl0.net]
メンバ変数は ぱっと見わかるように、
vector<string> _vstr;
前ハイフンつけてます

301 名前:デフォルトの名無しさん (ワッチョイ 3342-fOGj) mailto:sage [2017/02/05(日) 01:03:44.90 ID:mLcywPgQ0.net]
前ハイフンはシステム予約とバッティングしやすいから後ハイフン派

302 名前:デフォルトの名無しさん (ワッチョイ cf6b-aC2u) mailto:sage [2017/02/05(日) 01:04:30.83 ID:6qCMRDqV0.net]
>>295
こんなルールのみだったらわかりやすいのに

303 名前:デフォルトの名無しさん (スップ Sd9f-oUAv) [2017/02/05(日) 01:07:18.77 ID:rJZpHJC7d.net]
変数はいいけどメンバ関数はどうすんの?
m_とか後ろ_とかつけるの?

304 名前:デフォルトの名無しさん (ワッチョイ c35b-0MWP) mailto:sage [2017/02/05(日) 01:27:23.42 ID:lu7sp4/h0.net]
>>293
> 母音抜くルールわかりやすかった
まあここでも使われてるんだけどね。
kwskとか、ggrksとか。

305 名前:デフォルトの名無しさん (ワッチョイ 1302-1ST5) mailto:sage [2017/02/05(日) 01:29:06.53 ID:Yy4bNkpa0.net]
バッティングしやすいと言われて避けてたけどかれこれ一回もしたことないから止めたわ



306 名前:デフォルトの名無しさん (ワッチョイ 7fc1-AkR4) mailto:sage [2017/02/05(日) 01:41:58.02 ID:nBEZPMY50.net]
確率論かよ
プロのやることじゃないだろ

307 名前:デフォルトの名無しさん (ワッチョイ a37b-jpzQ) [2017/02/05(日) 02:18:19.91 ID:cECtpBb50.net]
避けてきたというのにバッティングしたこと無いから止めるって論理がちょっとおかしい。
お前サーバー管理者だけど今まで何も障害発生してないから要らないわ、解雇ね。
みたいな。

308 名前:デフォルトの名無しさん (ワッチョイ b31e-1yep) mailto:sage [2017/02/05(日) 03:03:49.00 ID:uDzXyp1X0.net]
using std;してるのに変数名にcount使ってるのはたまに見かける
そういう人は
int printf = 0;
とか書いてあっても気にならないんだろうか

309 名前:デフォルトの名無しさん (ワッチョイ 7f7b-1ST5) mailto:sage [2017/02/05(日) 04:04:57.35 ID:WpCJ+nTl0.net]
いずれにしろわかると思うが

310 名前:デフォルトの名無しさん (ワッチョイ a3a6-0MWP) mailto:sage [2017/02/05(日) 08:20:30.97 ID:sLo1ryYQ0.net]
>>301
2chにプロが来ると思うのはおかしいでしょ

311 名前:デフォルトの名無しさん (ワッチョイ cf42-qddC) mailto:sage [2017/02/05(日) 21:23:37.51 ID:QXihksJQ0.net]
規格上、メンバ変数の先頭にアンダーバーつけてもシステム変数とバッティングしたりしないよ。
defineとか色々やってるとバッティングするのかもしれんけど、誰か例示してくれ

312 名前:デフォルトの名無しさん (ワッチョイ cf24-1aN8) [2017/02/05(日) 21:50:38.91 ID:93yXMd2W0.net]
マクロはスコープに従わない
これこそが諸悪の根源

313 名前:デフォルトの名無しさん (ワッチョイ a37b-0yxR) [2017/02/05(日) 21:53:28.57 ID:cECtpBb50.net]
先頭アンダースコアに大文字が続くとローカルスコープでも×

314 名前:デフォルトの名無しさん (ワッチョイ cf24-1aN8) [2017/02/05(日) 22:00:58.46 ID:93yXMd2W0.net]
operator "" がアンダースコアで始まらない
std::chronoの識別子までハネるコンパイラを
どう修正すべきか開発陣は詰んでるよね

315 名前:デフォルトの名無しさん (ワッチョイ 13c9-dUno) mailto:sage [2017/02/05(日) 22:11:51.14 ID:JZIpCKM70.net]
cstddef無しでもdecltype(sizeof(int))が使えるぐらいだから別につんでない



316 名前:デフォルトの名無しさん (ワッチョイ cf6b-aC2u) mailto:sage [2017/02/06(月) 01:33:36.44 ID:EE2HabAa0.net]
初歩的な質問なんだけど
列挙体の列挙タグとかないやつってどういうときに使うの?
列挙タグないとどうしようもなくね?ってなってるんだけど

317 名前:デフォルトの名無しさん (ワッチョイ a37b-0yxR) [2017/02/06(月) 02:14:43.60 ID:cswrm9tC0.net]
>>311
単に定数値として使われてるだけだとともう

318 名前:デフォルトの名無しさん (ワッチョイ cf6b-aC2u) mailto:sage [2017/02/06(月) 02:22:16.07 ID:EE2HabAa0.net]
>>312
受けとる側を同じ型にしなくていいんかな?
基本的にint型らしいからint型で受けるものなの?

319 名前:デフォルトの名無しさん (ワッチョイ d3dc-0e9Z) mailto:sage [2017/02/06(月) 05:48:15.78 ID:GvVdGH4O0.net]
enum {
 buf_size = 100;
 answer = 42;
};

みたいな感じで使うenumの話だよね。
大雑把に言って「数値リテラルと同じ場面で使える名前のついた整数」。
配列定義の要素数に使えるし、キャストなしに任意の整数型に入れられる。

320 名前:デフォルトの名無しさん (ワッチョイ cf6b-aC2u) mailto:sage [2017/02/06(月) 09:45:50.45 ID:EE2HabAa0.net]
>>314
まさにそれだ!!!
要素数か!!!そこ見落としてた

任意のやつに入れられるとしても
本来なら型は合わせるべきでってルールに反しててみたいな葛藤が繰り広げられてる

321 名前:デフォルトの名無しさん (ワッチョイ 7fcf-1ST5) mailto:sage [2017/02/06(月) 10:46:33.65 ID:eKJHyJFq0.net]
>>315
Cならintの定数として使えばいいけど、C++ならテンプレートと組み合わせたときとかに型の違いが
出てきちゃうから、整数として使うならconstexpr intにしといたほうがいいよ。葛藤するぐらいならなおのこと。

322 名前:デフォルトの名無しさん (ワッチョイ a319-gmgt) mailto:sage [2017/02/06(月) 16:13:16.68 ID:1+9LFiOi0.net]
f(x,a)をx.f(a)と書くみたいな新しいC++の機能になる予定のがあったと思ったんですけど
この機能が何て言う名前か忘れたので教えてください。

323 名前:デフォルトの名無しさん (ワッチョイ 7f3c-mNa5) mailto:sage [2017/02/06(月) 17:15:37.05 ID:CRCNRbS80.net]
統一関数呼び出しだったかな。
提案されてるだけで取り入れられるかどうかはまだ決まってない気がする。
C言語の既存APIに対応できないとかで揉めてるんじゃないっけ?

324 名前:デフォルトの名無しさん (ワッチョイ a319-gmgt) mailto:sage [2017/02/06(月) 17:49:23.50 ID:1+9LFiOi0.net]
ありがとうございました。
それが使いたいので気になってました。

325 名前:デフォルトの名無しさん (ワッチョイ cf24-1aN8) [2017/02/06(月) 19:36:58.46 ID:8E+Xd5G50.net]
>>310
それoperator ""と関係あるの?



326 名前:デフォルトの名無しさん (ワントンキン MM1f-0yxR) [2017/02/06(月) 20:41:46.35 ID:XckUYI7fM.net]
operator ""って何?

327 名前:デフォルトの名無しさん (スプッッ Sd9f-PPsr) [2017/02/06(月) 20:42:45.84 ID:vzOme6YXd.net]
ユーザ定義リテラル

328 名前:デフォルトの名無しさん (エムゾネ FF9f-aC2u) mailto:sage [2017/02/06(月) 20:49:53.47 ID:wweedNqsF.net]
パイプラインでデータ送るってのはexeからexeってイメージで良いのかな?

329 名前:デフォルトの名無しさん (ワントンキン MM1f-0yxR) [2017/02/06(月) 20:52:29.18 ID:XckUYI7fM.net]
>>322
定義するときそんなの使うんだ。全く使わないし使いたいと思ったことがないからマジで知らんかった。

330 名前:デフォルトの名無しさん (ワッチョイ c35b-0MWP) mailto:sage [2017/02/06(月) 21:05:15.71 ID:R4XPB48C0.net]
>>315
それ多分defineの代わり。
改善点は>>307くらいか?俺はあまり文法には詳しくないから分からんが。

てかお前、マジで上司に聞いた方がいいぞ。
そういうところ改善しろって話じゃないと思うのだが。

331 名前:デフォルトの名無しさん (ドコグロ MMff-C4Pq) mailto:sage [2017/02/06(月) 21:14:58.49 ID:VJg+IRhiM.net]
>>323
パイプラインの定義による
普通はプロセス〜プロセスだけど自分で定義した関数に渡せる PowerShell みたいな奴もいるから

332 名前:デフォルトの名無しさん (ワンミングク MM1f-PSyA) mailto:sage [2017/02/07(火) 20:42:19.89 ID:cTLgA1N6M.net]
>>293
古アラム語の記法で2000年以上の歴史があるよ

333 名前:デフォルトの名無しさん (ワッチョイ cf24-1aN8) [2017/02/07(火) 20:54:19.60 ID:A56tKajQ0.net]
>>326
pipeline burst SRAMってのがあったな

334 名前:デフォルトの名無しさん (スプッッ Sd9f-aC2u) mailto:sage [2017/02/07(火) 22:51:12.61 ID:LBkPe/Vnd.net]
>>326
関数to関数ってdllと何がちがうんや

335 名前:デフォルトの名無しさん (ワッチョイ cf7b-gPBI) mailto:sage [2017/02/08(水) 01:04:48.39 ID:6rskJv7R0.net]
Linuxのコマンドでも、同一プロセス内のコマンドと、別プロセスを起動するコマンドの、2種類ある

10万行のシェルスクリプトの実行時間でも、大きな差がある。
for 9分
while 5秒
awk・perl 0.1秒



336 名前:デフォルトの名無しさん (ワッチョイ 365b-a31+) mailto:sage [2017/02/09(木) 11:43:50.96 ID:18LIUJ/70.net]
STLはどの程度使いこなせるのが一般的と思いますか?

書籍、簡単でいいのがなくて困ってます。
C++難しすぎ。

337 名前:デフォルトの名無しさん (スップ Sd72-Q8BR) [2017/02/09(木) 11:44:59.53 ID:ABH38W/Id.net]
↓STLというものは存在しない

338 名前:デフォルトの名無しさん (ワッチョイ 9302-ENO3) mailto:sage [2017/02/09(木) 12:39:20.71 ID:mjUCD5MK0.net]
>>331
毎日cpprefjp眺めとけばそのうち結構覚えてる

339 名前:デフォルトの名無しさん (ワッチョイ b330-t3CD) mailto:sage [2017/02/09(木) 13:03:54.52 ID:Wn84KVBK0.net]
一般的なんてぼんやりした領域のことを聞かれても困るわ
まC++をC++として使うつもりならコンテナ単体とコンテナとアルゴリズムの組み合わせくらいは
なんとなくでも使えるようになっていて欲しいな

340 名前:デフォルトの名無しさん (ワッチョイ 83dc-w/2a) mailto:sage [2017/02/09(木) 13:09:01.92 ID:4sYnDBFk0.net]
入門書を何冊も試すより『プログラミング言語C++』第4版を手に入れて
先頭からのんびり読み進めながら、後半の標準ライブラリの部分も拾い読み、
という方が費用対効果は大きいかも。1万円近くするお高い本だけど。

341 名前:デフォルトの名無しさん (ワッチョイ 32cc-LNBT) mailto:sage [2017/02/09(木) 13:22:05.49 ID:erARudvS0.net]
バカは一気に覚えようとするから
そんなん受験くらいやろ
実践は身につけんと意味ない

342 名前:デフォルトの名無しさん (アウアウカー Sa1f-a31+) mailto:sage [2017/02/09(木) 13:31:32.51 ID:DP2Fqfwxa.net]
必要になったとき調べながら使ってれば自然と覚える

343 名前:デフォルトの名無しさん (ササクッテロレ Spf7-7zST) mailto:sage [2017/02/09(木) 14:05:14.86 ID:Ra4XvV1bp.net]
STL覚えるのに金払うのは勿体無い気がする
cpprefjpをざっと眺めてどんなものがあるか何となくレベルで把握→実際に使ってみる ってのを繰り返すべし

344 名前:デフォルトの名無しさん (ワッチョイ e2d4-cGUq) mailto:sage [2017/02/09(木) 15:54:11.28 ID:Ccc/L2ZJ0.net]
VC++ なんですが typedef 絡み(スコープ?)で質問です。

typedef int macaddress_t[6];

void show(macaddress_t m) {}

int test() {
  macaddress_t m;
  show(m);
}

なのですが、
error: 'macaddress_t' was not declared in this scope
となってコンパイル通りません。

void show 〜の部分を

extern "C" {
  void show(macaddress_t m) {}
}

って括ると大丈夫になります。
これは何が起きているのでしょうか。

345 名前:デフォルトの名無しさん (ワッチョイ e2d4-cGUq) mailto:sage [2017/02/09(木) 16:42:39.82 ID:Ccc/L2ZJ0.net]
補足
extern "C" なし時にエラーが出るは void show の行です。

C++では引数は別スコープ?



346 名前:デフォルトの名無しさん (ワッチョイ fe6c-lXju) mailto:sage [2017/02/09(木) 17:01:06.12 ID:ljwNeD6M0.net]
それだけだとエラー再現しないから
なんか他でやってるんじゃないの?

347 名前:デフォルトの名無しさん (スップ Sd72-Q8BR) [2017/02/09(木) 17:13:47.07 ID:ABH38W/Id.net]
test関数が.cにあるとか

348 名前:デフォルトの名無しさん (ワッチョイ e2d4-cGUq) mailto:sage [2017/02/09(木) 21:17:24.37 ID:Ccc/L2ZJ0.net]
あ、.cpp じゃなくて .c  です。
これが大きいんですか?

349 名前:片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK4f-4eBQ) mailto:sage [2017/02/09(木) 21:21:30.92 ID:2NLO6FImK.net]
>>343
.cで定義した関数をC++で使うにはextern "C"で宣言しないといけない。

350 名前:デフォルトの名無しさん (アウアウカー Sa1f-a31+) mailto:sage [2017/02/09(木) 21:39:45.68 ID:H/sFxM1Na.net]
>>331です。皆さんありがとうございます。

www5c.biglobe.ne.jp/~ecb/cpp/cpp00.html
でSTLを勉強中ですが投げ出しそうです。
独習C++は理解できましたが
プログラミング言語 C++は厳しいです。
vector for_each random_shuffle sort
の動作を確認中です。
random_shuffleが毎回同じ値を返すのですが
どうやったら毎回異なる結果を返せますか?

351 名前:デフォルトの名無しさん (ワントンキン MM62-xxX2) mailto:sage [2017/02/09(木) 21:47:39.04 ID:0i4innvN ]
[ここ壊れてます]

352 名前:M.net mailto: >>345
3番目の引数に数字入れろ
random_shuffleじゃなくてshuffle使え
HackerRankのSTLのコーナーでやれ
以上
[]
[ここ壊れてます]

353 名前:デフォルトの名無しさん (ワッチョイ 9302-ENO3) mailto:sage [2017/02/09(木) 23:08:25.11 ID:mjUCD5MK0.net]
>>345
random_shuffleは非推奨になったから別のを使え
for_eachは特別な理由が無ければ範囲forを使え

354 名前:デフォルトの名無しさん (ワッチョイ 2731-CIv3) mailto:sage [2017/02/09(木) 23:17:44.28 ID:Tzm2iYcD0.net]
C++11とかC++14とかC++17とかあるけど、C++はまだ開発途上なの?

355 名前:デフォルトの名無しさん (ササクッテロレ Spf7-eUd9) mailto:sage [2017/02/09(木) 23:23:36.93 ID:lbPmSuZmp.net]
はい



356 名前:デフォルトの名無しさん (ササクッテロレ Spf7-7zST) mailto:sage [2017/02/09(木) 23:28:37.45 ID:Ra4XvV1bp.net]
進化なきソフトウエアに未来はないのだ

357 名前:デフォルトの名無しさん (ワッチョイ 9302-ENO3) mailto:sage [2017/02/09(木) 23:50:09.48 ID:mjUCD5MK0.net]
更新が止まるのは需要が無くなったときだ

358 名前:デフォルトの名無しさん (ワッチョイ 2731-CIv3) mailto:sage [2017/02/09(木) 23:55:51.94 ID:Tzm2iYcD0.net]
ちょっと開発工程表出してくれる?
瑕疵期間は完成版リリース後1年ね。
もちろん予算は増やせないよ。

359 名前:デフォルトの名無しさん (ワッチョイ e7a6-cGUq) mailto:sage [2017/02/10(金) 00:02:15.87 ID:X8zCTp9W0.net]
クライアントはよりどりみどりだから

360 名前:デフォルトの名無しさん (ワッチョイ 92c1-7zST) mailto:sage [2017/02/10(金) 00:04:38.63 ID:DjvLDgGn0.net]
唐突に始まる基地外顧客ごっこやめて

361 名前:デフォルトの名無しさん (ワッチョイ b37b-a31+) mailto:sage [2017/02/10(金) 00:06:53.18 ID:Rg0hWeb00.net]
型変換難しすぎます
すぐコンパイラ先生に怒られます

362 名前:デフォルトの名無しさん (ワッチョイ 92c1-7zST) mailto:sage [2017/02/10(金) 00:08:58.24 ID:DjvLDgGn0.net]
すぐ怒ってくれるコンパイラ先生に感謝感激雨あられですね

363 名前:デフォルトの名無しさん (アウアウカー Sa1f-Twc8) mailto:sage [2017/02/10(金) 00:10:01.98 ID:ynOefsL0a.net]
サクラダファミリア

364 名前:デフォルトの名無しさん (ワッチョイ b37b-a31+) mailto:sage [2017/02/10(金) 00:16:30.32 ID:Rg0hWeb00.net]
普通の型からマイクロソフト定義の専用のきついわ
あんなん初めから使うなよマイクロソフトさん

365 名前:デフォルトの名無しさん (ワッチョイ 9302-ENO3) mailto:sage [2017/02/10(金) 00:19:08.11 ID:Yd/z+i5f0.net]
そのうちどれが何をdefineしたものかは大体察しが付いてくる



366 名前:デフォルトの名無しさん (ワッチョイ e2d4-cGUq) mailto:sage [2017/02/10(金) 16:18:59.44 ID:ovuuNq0I0.net]
>>344

==ここから==
typedef int macaddress_t[6];

void show(macaddress_t m) {}

int test() {
  macaddress_t m;
  show(m);
}
==ここまで==

ひとつのソースファイルなのですが、
全体を extern "C" で括るらともかく、なんでvoid show〜の行だけ括らないといけないのか、そこが理解できないんです

367 名前:デフォルトの名無しさん (ワッチョイ 7642-CIv3) mailto:sage [2017/02/10(金) 18:37:08.04 ID:bnzKLGGx0.net]
NDKでC++
でwregex使おうとしたら
コンパイルできないし。
wchar_tが4なんだな。
codecvtもないし

まだ早すぎたのか。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<322KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef