1read 100read
2013年17プログラム1: C++相談室 part104 (889) TOP カテ一覧 スレ一覧 2ch元 削除依頼
Metroスタイルアプリ開発について語れ (952)
マルチプラットフォーム プログラミング言語 haXe (135)
Visual Studio 2008 Part 21 (881)
Microsoft Silverlight その9 (472)
OpenCLプログラミング#1 (709)
GCCについて part10 (354)

C++相談室 part104


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

2 :
2

3 :
Hogeは禁止しませんよ

4 :
NG推奨
QZaw55cn4c

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

6 :
いろいろなレベルの人間がいるプロジェクトでは全員がgotoを適切に扱えるとは限らないため、
リスクやレビュー工数軽減のためにgotoを一律禁止にしています。
ところが何度説明しても"自分は適切に扱える。出来ないやつは辞めさせるべき。"と独断で動く人がいて困っています。
どう説明すれば理解してもらえるのでしょうか。

7 :
おまえが悪い
そいつが正論

8 :
hoge禁止

9 :
>>7
どこが悪いのでしょうか
具体的に

10 :
hoge使う奴よりはマシ

11 :
>>9
goto を一律に禁止というところ
おまえの論理では throw や longjmp までが禁止なはず
標準ライブラリを全否定し、組み込みでの代替手段まで奪う暴挙は
反乱されて当然

12 :
>>11
longjumpはもちろん禁止です。
throwは原則禁止ですが、C++をまともに使える人間がいないのでそもそもthrowは使用されていません。
longjumpは存在を知っている人間がいないはずです。

13 :
ビルトイン論理演算子のショートカットを否定したり、
EOF 判定でも二度読みを強制する「ボス」には俺でも袂を分かつ
頭悪すぎ、一緒に沈没はごめんだ

14 :
>>12
了解、アスタラビスタ

15 :
そんな状況なのでレビュー工数がかさむため、
gotoは一律禁止にしたのですが、天狗がいまして…。

16 :
天狗なのはどっち?

17 :
実際に今日その人にgtotoを使わせて見たところ関数がやたら長くなりました。
それでも正しく使えていると豪語するので同説得競ればよいか質問させていただいたのですが、
流石掃き溜めというべきかプロジェクトの管理をなさる方はいないようですねここは。

18 :
そりゃあ、まずプログラム晒してなんぼだからな
本当にアドバイス欲しかったらまずそいつのプログラム晒してみろよ
ここの奴らは叩くことに関しては一流だぜ

19 :
そもそも throw を誰も使えないという時点で
叩こうにも言葉が通じるかどうか・・・

20 :
そもそもC++をまともに使える人間がいないのに何故C++使うのかと
gotoもthrowも頑なに使わないようにしてわけの分からないフラグばかりになってる糞コードなら
何度も見たことあるけど
そんなにバカなgotoの使い方してる奴は見たことないなあ
そんな奴が居るならそれこそ辞めさせるべき
バカ探知機になってかえっていいじゃん

21 :
>>17
>流石掃き溜め
なんだ、結局それが言いたかっただけの人格障害者か

22 :
自分しかC++がわからないチームで無理にC++を使わせてオレオレルールを
適用して失敗したらC++がわからない人のせいになるのですね。

23 :
3流ソフト会社のプロマネとかに>>17みたいなキチガイがやたら多いのは知ってる

24 :
このスレだけレス数の伸びがいいから開いてみたら釣られすぎ吹いたwww
夏休みすげえわw

25 :
goto使わないとネストの山になって理解しにくいコードになるのはわかっているのかな。

26 :
今日土曜なんですが、普段から曜日感覚がないのかな?あっ・・・

27 :
7拍子じゃない人にとって曜日は迷惑なだけ

28 :
休日があるプログラマーは2流

29 :
少し誤解がありますね。
レベルの揃わない人員でプロジェクトを進める上で必要な決め事と感じています。
実際正しく使えると豪語した人もgotoに頼り長い関数をこしらえましたので。
私個人としてはgotoは絶対禁止という思いはないです。

30 :
社畜盆に帰らず

31 :
>>6
マジレスすると、プロジェクトから外すしかない。
ので、プロマネに相談しなよ。
ただ個人的には goto は関数内に閉じるから...
1. ブロック内への goto
2. 上方向への goto
を禁止すれば、目の敵にしなくてもいいように思う。

32 :
gotoを一律禁止にしています。
gotoは絶対禁止という思いはないです。
いるよなこんなPG

33 :
ムじゃなくて、マな質問だよな
お前が書けるかどうかじゃない、これは統制だってことをわかってもらうべき
使えるプログラマは、goto無し縛り、極端な話、C++無し縛りだってできる
(後者はC++なしで軽量OOPしろってことな)

34 :
>>31
ありがとうございます。
前方へのジャンプだけなら変なフローにはなりにくいので良いですね、
うちの場合は正当に使用されているかのレビューチェックに掛かるコストをカット出来るので禁止としていました。
使用しなければキーワードで検索できますので。

35 :
>>33
ご意見ありがとうございます。
確かに板違いでした。
今日のgotoの件で頭に血が上っていたようです。

36 :
使えるプログラマはgoto無し縛りだってできる
といってifネストの山を量産させるのですね。

37 :
>>29
長い関数が問題ならそれを説明して分割させろよ。
それができれば goto 禁止なんてする必要ないし、
goto 禁止したって何の解決にもならないよ。

38 :
長い関数書くなよ!って命令しても書いちゃうよ
長い関数なんて誰も好きで書いてるわけじゃないんだから。勝手に長くなってるんだから

39 :
だからちゃんとしたレビューと訓練が必要なんだろ。
goto 禁止したからといって何になるというのさ?

40 :
なぜ関数が長くなっているかが分からないと何とも言えないけれど。

41 :
まあ糞PG使わされる身ならそういう極論に走るのも無理は無い

42 :
コードの再利用性を高める目的などでコードが多くなることならある。

43 :
CプログラマがC風に書く
C++erがダメ出し「STL使って簡潔に書け」
ビルドする
バイナリはCのほうが簡潔

44 :
バイナリはCのほうが簡潔wwwwwwwwwwwwww

45 :
そのバイナリの簡素さが要求されているのでなければ簡素なソースが優先だよね。ね。

46 :
OO、RAII、例外安全を使いこなせるPGなら
関数は自然と短くなるはず。

47 :
バイナリの軽さを軽視するやつは C++ 界から消えてなくなれ
そういうやつの声がでかいだけで迷惑千万だ

48 :
そんなのが要求されるプロジェクトなんて稀ですし
要求される場合はゴリゴリ軽くするよ
「バイナリを軽くしか出来ない人」の方が迷惑

49 :
ソースの読みやすさを軽視するやつは C++ 界から消えてなくなれ
そういうやつの声がでかいだけで迷惑千万だ

50 :
意味わかんね
処理を削れば軽くなるが、それしか出来ない人ってどういうことだ?
てけとーに攻撃的な言葉をならべて遊んでるだけだろどーせ

51 :
可読性と簡潔さは両立させるものだし

52 :
>>47,49
両立しろよてめーらwww
いやマジレスすると、C++ってのは、それを両立して極めろって後輩に仕込んでくれ
C/C++は他言語を、OSを統べる言語。別格なんだよ、わかるだろ

53 :
冗長に書けば可読性が増すと思ってる馬鹿だろ。
たまにいる。

54 :
なんかさー、最適化もただ頼るだけみたいに非科学的なやつ多すぎるんだよね
どう書いたらどう最適化されそうかくらいは考えろってさー

55 :
実測して問題なきゃそれでいいんだよ

56 :
バイナリアンが客先に紛れ込んでるってことも、頭のどっかには入れておくべき
CC CC CC ... ってpadされてるバイナリを渡したらどう思われるか、とかね

57 :
ハッシュも「実測して問題なければ」いいとかね
等値比較する必要があるかどうかさえ、
とにかく把握する気がないやつは底なし

58 :
-底なし
+見境いなし

59 :
能なし

60 :
節操なし

61 :
玉なし

62 :
>>57
お手軽ハッシュでいいのない?

63 :
>>62=ろくでなし

64 :
>>54
悔しいが同意せざろうえない

65 :
ゆとり言語になったC++で最適化ってなんかへんな気がする

66 :
と、無能のつぶやき頂きました

67 :
いくら進んでも先が見えない難解言語がゆとりと言うなら
世の中ゆとり言語しか無い

68 :
Chaos++

69 :
ゆとり化しすぎてChaos++になってしまったよ
ってことですね

70 :
カオスなのかゆとりなのかどっちなのか

71 :
注意一秒バグ一生
切れ味強すぎて危険

72 :
クラスについて勉強してるんだけど
さっぱりわからん
これが無いとどういったときに不便になるの?
無くても困らないケースはある?

73 :
クラスにまとめておけば関数名を覚えてなくてもインテリジェンスで選べる

74 :
カプセル化が必要ない小さなプログラムなら必要ない
多分最初は不思議に聞こえるが、クラスは外からのアクセス方法を制限することによって
その保守性とか目的を明瞭にしてるというか
誰かエロイ人もっと上手く頼む

75 :
整理整頓して区別する時に便利なもの。
無くてもそれができる人なら困らないけど、
そんな人は少ない。

76 :
あー大体分かってきた
お前らありがとう
正直門前払いされるんじゃないかとビクビクしてたが質問してよかった

77 :
あ、重要な事が抜けてた。
区別できてるか判断するのは、自分じゃなくてソースを読む大多数の他人だから。
これを理解してないと、意味が全然違う。

78 :
>>72 がうらやましい‥‥

79 :
アクセス方法を制限

80 :
今北
クラスがなぜ必要かと言ったら、クラスで記述するおいしいライブラリがあるからさ
クラスの良さに気付ければ、めくるめくC++の奥深さを楽しめるようになる

81 :
vector<int>* pvVal = ・・・;
int Val = ( *pvVal )[ 3 ];

このように記述したとき、
( *pvVal )のところで一時オブジェクトが生成される心配はないでしょうか?
もしそうだとすると、巨大なvectorではとてつもないコストになってしまいます。
VisualStudio2012でステップ実行して確認したところ、
vectorのコンストラクタには行かず、
operator[]に行ったので大丈夫と思っていいでしょうか?

82 :
別に*操作はオブジェクト生成してるわけじゃないよ
と思ったが確信はないな・・・

83 :
ナマポの実体化は「決して」一時オブジェクトを生成しない

84 :
>>82-83
ありがとうございました!!
安心しました!!

85 :
>>72
デストラクタでリソースを解放することを覚えるとCには戻れなくなる

86 :
なんでJAVAとかC#にはデストロイヤーがないの

87 :
>>86
//I believe gc :)

88 :
GCってVRAMのメモリも自動で開放してくれんの?

89 :
GC で勝手にやってくれるから
空間制御は楽になったが、時間制御が難しくなったと言う

90 :
RAIIを徹底すればGCなんて全然要らない
時間軸の細かい制御も容易にできる

91 :
そういう部分だけJNIとかを使えばいいんです。

92 :
お、おう。。
ってそういうことじゃなくて、だからC++はイイ!って話だろw >>72,85

93 :
あ、IDisposable (小声)

94 :
>>89
初心者にGCで解放されるものとされないものの区別を教えるのが難しい。

95 :
強参照、弱参照、ファントム参照と言っても初心者は分からない

96 :
>>95
ファントム参照って何ですか?

97 :
>>95
そのあたりは初心者どころか中級者でも
各VMの実装の詳細まで把握してる奴は少ない

98 :
下記は関数内の静的変数と自動変数の値が保持されるか、というテストコードなのですが、実行結果を見ると両方とも値が保持されています。
自動変数は宣言された関数内で死ぬと思うんですが、なぜこの結果になるのかわからずにいます。よろしくお願いします。
環境:win32, gcc version 4.7.2 (GCC)
#include <iostream>
static void test(int*& pa, int*& pb) {
 static int a = 10;
 int b = 5;
 pa = &a;
 pb = &b;
}
int main(void) {
 int *pa, *pb;
 test( pa, pb );
 std::cout << "*pa = " << *pa << "\n" << "*pb = " << *pb << std::endl;
 return 0;
}
結果:
*pa = 10
*pb = 5

99 :
pbはtestから戻った後は参照してはならないポインター。
なのでたまたまプログラムが動いた様に見えるだけ。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
Borland Developer Studio 2006 No.13 (290)
【アンチ】関数型言語は使えない【玩具】 2 (498)
datファイルを共有するP2Pソフト o2on 17dat (482)
関数呼出しはgoto文である (192)
プログラミング言語 Scala 9杯目 (385)
DarkBASIC (810)
--log9.info------------------
【コンノトヒロ】ぷあぷあ?【別冊少年マガジン】 (264)
平つくね その3【ラッキー・ブレイク】 (112)
実話系雑誌全般 (348)
【おりんちゃん】川島よしお総合スレその2【PEACH!!】 (420)
【たまちく・にざかな】殺し屋さん・4ジゲン&BBJ (317)
【おこしやす】久保田順子【いなかっこ】 (258)
初心者もお気軽に…質問スレ@4コマ漫画板 (700)
たかまつやよい【高松弥生】3本目 (153)
【はっぴぃママレード。】北条晶2【お父さんは年下】 (378)
【おうちでごはん】スズキユカ 2杯目 (151)
【ガチ博士】真右衛門【G組】 (239)
【いぢめる?】ぼのぼの【いぢめないよぉ】 (588)
【30girl】岩崎つばさ総合4【NO.5】 (445)
【お一人様二つまで!】内田春菊 (502)
結城心一総合スレ@4コマ板2・ちろちゃん、かんぱち他 (147)
【もうダメかもしれない】 かにかま 【棺姫のチャイカっか】 (233)
--log55.com------------------
サイバーパンク糞スレ
【ブラウザオンラインRPG】RIPで竜殺しの物語【初心者歓迎】
F9 ◆pZ9ACOMH5jnY へ
サイバーパンクなキセキの人々
SNSウィザードムラカミ
サイパンの歴史を捏造するぞ
ナナチってサイバーパンクだよな
埋め立てやめろ