TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
【JavaScript系】 NILScript 【AutoHotkey風】
ネットワークプログラミング雑談
CVS導入スレ〜 Rev.3
Androidプログラミング質問スレ revision50
C言語なら俺に聞け 151
次世代言語17 Go Rust Kotlin TypeScript Julia
Java Web Application Framework総合 ver2
初心者の作ったプログラムにありがちなこと
プログラマは大卒じゃないと就活厳しいってホント?
ECMAScript デス 4

C++相談室 part147


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

前スレ
C++相談室 part146
https://mevius.2ch.sc/test/read.cgi/tech/1573094136/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
http://mevius.2ch.sc/test/read.cgi/tech/1556142878/

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

[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)

STLつかうと一気に実行ファイルサイズが10倍に?!

環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない

すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。

↑え?だってお前、普通ダイナミックリンクするだろ?
"ダイナミックリンク"す・れ・ば、ファイルサイズ**増えないです**

2 :
なんやこのキモい天ぷら

3 :
>>1
R

4 :
藻前らにクリスマスプレゼント貼る、
ttps://cpprefjp.github.io/international-standard.html

もっともっと争いにはげむと良い

5 :
ワロタ

6 :
1001レス書けたのはなんで? 2chのバグ?

7 :
このままいくとそのうち C++20 → C++40 → C++80 ...
などとなり、そのうち C++98 とどっちが古いかわからなくなる
時がやってくるわけだが、その点をちゃんと考えているのか
標準化委員会に問い詰めたい

8 :
こんなだからC++敬遠されるんだよ
組み込みエンジニアとしては嘆かわしい限り

9 :
>>6 前スレッドの「あれっ?」は、俺の環境だと1000番だったよ。

>>8 「こんなだから」はどこを指してる?
「そんなことも忖度できないから…」かも知れんけど。

10 :
は!const付けると書き込めないから
コンパイラが最適化してくれるんじゃないだろか!!

11 :
俺は悪い奴だからconst_castしてしまうぜ

12 :
一つのクラスの単体テストって何個くらい作りますか?

13 :
1000個

14 :
100個くらいじゃ少なすぎるんだ。

15 :
何個ぐらいって一般化できると思うか?

16 :
メンバ*10とか指標が出てくるかなあって。

17 :
数じゃなくてカバレッジで考えるんだよ

18 :
そうですか。
でも測定ツールが高そう。

19 :
メンバ・メイ・コボルスミ11

20 :
■ windows.hのmin/maxマクロ回避策4パターン
ttps://yohhoy.h a t e n a d i a r y.jp/entry/20120115/p1

こんな具合に記号定数マクロ展開を抑止する方法って無いですかね…

21 :
単に展開を抑止するだけなら#undefで良いんですが
#include <Windows.h>
namespace w32w {
const w32wMOVEFILE_REPLACE_EXISTING = MOVEFILE_REPLACE_EXISTING;
#undef MOVEFILE_REPLACE_EXISTING;
const MOVEFILE_REPLACE_EXISTING = w32wMOVEFILE_REPLACE_EXISTING;
/*...*/
} // namespace w2w
みたいなのをもっと簡単にやれないものか…

22 :
ちょっと何言ってるかわかりませんね
FOOという定義済みマクロとnamespace barがあるとして、
const int bar::FOO
を定義済みマクロFOOの値で初期化したい
とゆーことです\(^o^)/

23 :
簡単にできたとして一個一個手で書くつもりか?

24 :
>>23
手で書けるなら頃せる

今気づいたが定義済みマクロWINVERって<Windows.h>をインクルードしなくても
定義されてるのねん…

25 :
windows.hのsmallに引っ掛かって30分悩んだ

26 :
>>22
マクロにFOOとかを渡して、トークン連結演算子でどうにかできるのでは?
#undef使って切り替えるより簡単だと思う
何がやりたいのかいまいちわかってないので違ってたらスルーしてくれw

27 :
>>24
頃せる?
できるって意味か?
手でやるのは馬鹿げてる作業だと思うぞ
でツールでやるなら別に簡単に書ける必要もなし

正直そんなとこがんばってもと言う気はするけどね
小文字のマクロだけは滅んでほしい

28 :
背中に手が届く痒いソフトないかな。

29 :
お前が自作して配布するんだよぉ

30 :
窓の手。

31 :
namespace w32w {
#include <Windows.h>
} // namespace w2w
const MOVEFILE_REPLACE_EXISTING = w32w::MOVEFILE_REPLACE_EXISTING;

32 :
constはスレッドセーフじゃないとダメなんだな。

33 :
痒いソフト

34 :
>>31
マクロだったらどうするんだ

35 :
キャッシュやメモ化してるだけのメンバはconst付けたいところだけど、ミューテックス使うとマイクロ秒の単位で時間がかかるとなると、付けないほうが良いのかな。

36 :
というかマクロが問題なわけだが

37 :
そういえばマクロって使う必要なくなったよね。
なんでだろ。

38 :
ヘッダとかでたくさん使われてる

39 :
そういえばBoostがマクロまみれだった。

40 :
c++11以降の目的の一つがマクロつぶしだからな。

41 :
>>39
boostはまだ言語仕様で標準化されていない機能を標準化された機能で実現しようとしている部分が多いから、自然とマクロでどうにかしなきゃならない箇所が多いんだろう

42 :
>>40
捨てるためにゴテゴテとよけいな機能をつけなくても、
スコープ内だけで有効なローカルマクロ的なものを導入すればそれで良かったような気がしなくもないが、
#includeが絡むとやっぱだめかなw

43 :
今さらEmscripten使ってwasm化してみたけどそこそこ使えそう

44 :
いまさらかよ!

45 :
マクロというかプリプロセスの一部を言語規格内に取り込まないと無理なんだろ

46 :
C++が進化してもマクロは無くならない

47 :
せめてなくそうとはしろ

48 :
マクロは正義
今日もいくつも生やした

49 :
マクロについて、江添はなんて言ってる?

50 :
自分で読めば

51 :
逆にマクロが進化する可能性は。

52 :
それはやだねえ

53 :
マクロの進化を考えてみた
マクロは型に対応していないのが問題なので、まず型を導入する
しかし完全に常に型を必要としてしまうと普通の関数や変数と違いがなくなるので
コンパイル時に決定できる場合に限り、ジェネリックに何でも受けいれるようにする
・・あ、そうだ同じ名前で複数の宣言を可にして、それのうち一つでもコンパイルエラーで
ないなら他は無視して、コンパイルできるもののみ有効とかにすると色々つかえるかもしれないな
たとえばある構造体に特定のメンバがあるかどうかでコンパイル時に処理を分岐するとか

54 :
テンプレートですか?

55 :
マクロと言えばマクロアセンブラ
C/C++のマクロより高機能なので見てみると良い

56 :
MASMのマクロと比べるべきはテンプレートだろ

57 :
C++コードをプリプロセスする専用の新規言語を発明すれば!

58 :
>>53
それどこのtemplate

59 :
>>57
それどこのQt

60 :
>>57
それはcfrontといって世界最古のC++だ

61 :
>>56
テンプレートとは違う

62 :
>>59
mocはまだ生きてるんだな
無くなったと思ってた

63 :
>>60
そうか、C++11 or later を食らうをプリプロセッサーがウけるのか…

64 :
rustのようなマッチングでやるとか
他にはASTのAPI提供するとか
あとはlispみたいにやるとか
c/c++よりまともなやり方はあるけど正直どれもややこしいし上に
めんどくさいんだよね

65 :
メタプログラミングにおいてあえてチューリング不完全にしちゃうってのは
悪くないデザインチョイスだと思うんだよね
すがすがしい

66 :
てかその手の糞みたいな発想はlispでやりつくされてる。
バカが知らないだけで。

67 :
includeでテキストファイルを文字列literalとして読み込んだり、CSVファイルを行毎に指定の変換で読み込んだりしたい

外部プログラムで変換するのがめんどい

68 :
なんとかいうプログラミングの偉いひとがいってたんだけど
「凡人が斬新な発想と思っている事の5割は既に誰かがやっており
残り5割は斬新ではなくそもそも機能しない」らしい

69 :
よい子のみんな!のAAにもあるとおり

70 :
最強のC++はC++の道から外れないこと

71 :
C++のタオとは?

72 :
振り返るとそこに道が出来ているってことでは。

73 :
c++ natureを極めるためにはc++公案で鍛えるしかない

74 :
主要コンパイラはすべてサポートしているにも関わらずいまだに#pragma onceを使わない人が少なくないのはなぜ?

75 :
onceはclang-clにしたら文句言われた。

76 :
>>74
#if defined() / #ifdef で十分ですから
#progma once が規格に取り込まれでもしないかぎり状況はかわらないでしょうね
#progma once の優位性はなんでしょうか

77 :
一行で済む
万が一のdefineの衝突が起こらない

78 :
今はgccでもつかえるんだっけか

79 :
3.4.xのどこかで対応してるからもう10年以上前の話

80 :
VSについてくるclang-clはpragma once普通に使えてる。

81 :
いまcl、clang-cl、gccでチェックしてるけど、pragma onceは使えてる。

82 :
#pragma once
と書いておけばperlで#if defined() / #ifdefに直せる

83 :
標準化してくれれば良いのに
pragmaで出来ることの範疇越えている気はするけど

84 :
他のもろもろと合わせてモジュールに移行することで済ませるつもりなんでしょ。

85 :
そういやまだモジュールサポートしてるコンパイラないな

86 :
exportみたいになりませんように

87 :
C#だとis演算子を利用してキャスト可能か判定していますが、
C++でdynamic_castでキャスト可能かってどう判断すればよいのでしょうか?
後、static_castできるかどうかの判定はどうすればよいのでしょうか?

88 :
https://ideone.com/wtGGM7

89 :
dynamic_castがnullptrを返すかどうかで判断

if (auto dp = dynamic_cast<Derived*>(bp)) {
(dpを使った処理)
}

90 :
>>87
static_castは静的に決まるから、コンパイルエラーにならなければできるということだぞ。
それが意図した通りの変換になるかは規格を正しく理解すればいい。

91 :
テトリスでプログラミングの基礎は身につくますか?

92 :
いいえ

93 :
>>91
まずは日本語の基礎を身に付けてください。
それと、最近python関連のスレでテトリスの質問をしまくっていたキッズなら、テトリスはあきらめて愚直に入門書から始めてください。

94 :
>91
知恵袋で見た質問だな

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12217899992

95 :
江添の最近出した本、このスレ的にはどういう評価なの?

96 :
江添亮のC++入門、2019/9

こんな本を出していたのかw

関係ないけど、漏れは、下の本を読んでる。
短くまとめられていて良い

[改訂第3版]C++ポケットリファレンス、高橋 晶 ほか、2018

97 :
>>96
>C++ポケットリファレンス、高橋 晶
たぶん最初に出たC++11和書ですね、すごく勇気がいったと思います、私も読ませてもらっています

98 :
江添亮、επιστημη[エピステーメー]、高橋晶とか、
日本のC++標準化委員会のメンバーは、伝道師みたいな香具師が多い

本をよく書く

99 :
まあ、猫でもなんとかとか、スッキリわかるとか、柴田よりはましだろw

100 :
>>98
エピさん、監訳ポジなら問題ないんですけどエピさん単著だったら、ちょっと考えますね
エピさんの本は出来の波が激しすぎるのです


100〜のスレッドの続きを読む
ねねっちと一緒にプログラムを勉強するスレ第3話
Perlについての質問箱 64箱目
くだすれPython(超初心者用) その44【Ruby禁止】
文字コードの種類は何故複数あるのでしょうか?
Excel VBA 質問スレ Part53
【Delphi互換!?】FreePascal/Lazarus その2【GPL】
■WindowsCEプログラミング(EVC PB3含む)Ver2.2■
日下部陽一著 作ってわかるCプログラミング(第6版)
Visual Studio 2012 Part8
Pythonのお勉強 Part62
--------------------
昔板で2000目指すスレッド
【Myprotein】マイプロテイン 117
[CoH]Company of Heroes 84thカンパニー
【復活】かびとかしかばね界隈9
GPS情報交換スレッド@総合 #11
コンビニ弁当で人は生きてゆけるか
ドライバーが全く打てません 91
孤男なら自転車だよな
仮面ライダー エグゼイド EX-AID アンチスレ26
…失敗と教訓…
ゲスの極み乙女。の音、演奏について語るスレ
水川あさみ
【PRODUCE48】IZ*ONE(アイズワン)応援スレ【BLOOM*IZ】☆429
キリト Angelo
作ったら・試したら良かったもの part162
4月小野田→5月山岸→6月佐藤→7月岡井→
【SLOW ROOM】平松愛理Part.7【KOBE MEETING】
【馬面おかめ】越馬千春part9【バツイチ無職】
【Acty】2chブラウザ組み込み型タブブラウザ part7
ヤフコメに巣食うgpcという動物虐待者を一緒に叩いてくれる人募集!
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼