C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part146
https://mevius.5ch.net/test/read.cgi/tech/1573094136/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
http://mevius.5ch.net/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ほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
↑え?だってお前、普通ダイナミックリンクするだろ?
"ダイナミックリンク"す・れ・ば、ファイルサイズ**増えないです**
探検
C++相談室 part147
■ このスレッドは過去ログ倉庫に格納されています
2019/12/18(水) 17:56:53.03ID:uFDqtnkl
2019/12/18(水) 17:59:08.02ID:3w1BRoQv
なんやこのキモい天ぷら
2019/12/18(水) 23:12:34.99ID:EE58WPKP
>>1
死ね
死ね
2019/12/19(木) 00:03:12.14ID:zX6m0cqE
藻前らにクリスマスプレゼント貼る、
ttps://cpprefjp.github.io/international-standard.html
もっともっと争いにはげむと良い
ttps://cpprefjp.github.io/international-standard.html
もっともっと争いにはげむと良い
2019/12/19(木) 00:18:27.33ID:usOsPCZf
ワロタ
6蟻人間 ◆T6xkBnTXz7B0
2019/12/19(木) 00:23:05.50ID:r6T/W91o 1001レス書けたのはなんで? 5chのバグ?
2019/12/19(木) 01:07:12.70ID:5BDnhVE2
このままいくとそのうち C++20 → C++40 → C++80 ...
などとなり、そのうち C++98 とどっちが古いかわからなくなる
時がやってくるわけだが、その点をちゃんと考えているのか
標準化委員会に問い詰めたい
などとなり、そのうち C++98 とどっちが古いかわからなくなる
時がやってくるわけだが、その点をちゃんと考えているのか
標準化委員会に問い詰めたい
2019/12/19(木) 06:07:09.87ID:+fuR4pm1
こんなだからC++敬遠されるんだよ
組み込みエンジニアとしては嘆かわしい限り
組み込みエンジニアとしては嘆かわしい限り
2019/12/19(木) 06:48:20.41ID:rFEDNRgX
10デフォルトの名無しさん
2019/12/19(木) 13:50:56.27ID:e6wF5QYj は!const付けると書き込めないから
コンパイラが最適化してくれるんじゃないだろか!!
コンパイラが最適化してくれるんじゃないだろか!!
2019/12/19(木) 14:53:15.34ID:CIL8E3K9
俺は悪い奴だからconst_castしてしまうぜ
12デフォルトの名無しさん
2019/12/19(木) 15:58:03.38ID:e6wF5QYj 一つのクラスの単体テストって何個くらい作りますか?
2019/12/19(木) 16:01:43.72ID:hJvSxET/
1000個
14デフォルトの名無しさん
2019/12/19(木) 16:03:30.00ID:e6wF5QYj 100個くらいじゃ少なすぎるんだ。
2019/12/19(木) 23:10:04.38ID:Y/zGUZTk
何個ぐらいって一般化できると思うか?
16デフォルトの名無しさん
2019/12/20(金) 08:56:23.47ID:jk7l00+3 メンバ*10とか指標が出てくるかなあって。
2019/12/20(金) 11:48:52.93ID:N4kH8rcM
数じゃなくてカバレッジで考えるんだよ
18デフォルトの名無しさん
2019/12/20(金) 12:49:40.01ID:jk7l00+3 そうですか。
でも測定ツールが高そう。
でも測定ツールが高そう。
2019/12/20(金) 20:29:58.76ID:jjn2sxGn
メンバ・メイ・コボルスミ11
2019/12/20(金) 23:43:02.47ID:i1Ytyme8
■ windows.hのmin/maxマクロ回避策4パターン
ttps://yohhoy.h a t e n a d i a r y.jp/entry/20120115/p1
↑
こんな具合に記号定数マクロ展開を抑止する方法って無いですかね…
ttps://yohhoy.h a t e n a d i a r y.jp/entry/20120115/p1
↑
こんな具合に記号定数マクロ展開を抑止する方法って無いですかね…
2019/12/20(金) 23:47:16.50ID:i1Ytyme8
単に展開を抑止するだけなら#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
みたいなのをもっと簡単にやれないものか…
#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
みたいなのをもっと簡単にやれないものか…
2019/12/21(土) 00:06:23.25ID:gJjydDaN
ちょっと何言ってるかわかりませんね
FOOという定義済みマクロとnamespace barがあるとして、
const int bar::FOO
を定義済みマクロFOOの値で初期化したい
とゆーことです\(^o^)/
FOOという定義済みマクロとnamespace barがあるとして、
const int bar::FOO
を定義済みマクロFOOの値で初期化したい
とゆーことです\(^o^)/
2019/12/21(土) 00:55:27.57ID:FSMLpyuy
簡単にできたとして一個一個手で書くつもりか?
2019/12/21(土) 07:55:32.45ID:gJjydDaN
2019/12/21(土) 08:00:42.78ID:/C2Zxfa9
windows.hのsmallに引っ掛かって30分悩んだ
2019/12/21(土) 16:01:06.10ID:41M/xbUn
2019/12/21(土) 16:09:49.97ID:FSMLpyuy
>>24
頃せる?
できるって意味か?
手でやるのは馬鹿げてる作業だと思うぞ
でツールでやるなら別に簡単に書ける必要もなし
正直そんなとこがんばってもと言う気はするけどね
小文字のマクロだけは滅んでほしい
頃せる?
できるって意味か?
手でやるのは馬鹿げてる作業だと思うぞ
でツールでやるなら別に簡単に書ける必要もなし
正直そんなとこがんばってもと言う気はするけどね
小文字のマクロだけは滅んでほしい
28デフォルトの名無しさん
2019/12/21(土) 21:55:00.70ID:7S/5Xmi8 背中に手が届く痒いソフトないかな。
2019/12/22(日) 09:20:26.05ID:PdpWotrS
お前が自作して配布するんだよぉ
2019/12/22(日) 14:56:43.90ID:qJChSMJU
窓の手。
31デフォルトの名無しさん
2019/12/23(月) 14:58:26.67ID:sEnpgkKc namespace w32w {
#include <Windows.h>
} // namespace w2w
const MOVEFILE_REPLACE_EXISTING = w32w::MOVEFILE_REPLACE_EXISTING;
#include <Windows.h>
} // namespace w2w
const MOVEFILE_REPLACE_EXISTING = w32w::MOVEFILE_REPLACE_EXISTING;
32デフォルトの名無しさん
2019/12/23(月) 16:57:11.44ID:f3nq+WHN constはスレッドセーフじゃないとダメなんだな。
2019/12/23(月) 18:18:55.23
痒いソフト
2019/12/23(月) 20:10:00.49ID:X1aPCWn8
>>31
マクロだったらどうするんだ
マクロだったらどうするんだ
35デフォルトの名無しさん
2019/12/23(月) 20:11:03.19ID:f3nq+WHN キャッシュやメモ化してるだけのメンバはconst付けたいところだけど、ミューテックス使うとマイクロ秒の単位で時間がかかるとなると、付けないほうが良いのかな。
2019/12/23(月) 20:11:47.02ID:yUC4LEa+
というかマクロが問題なわけだが
37デフォルトの名無しさん
2019/12/23(月) 20:35:01.08ID:f3nq+WHN そういえばマクロって使う必要なくなったよね。
なんでだろ。
なんでだろ。
2019/12/23(月) 20:39:32.58ID:z7fGiGkq
ヘッダとかでたくさん使われてる
39デフォルトの名無しさん
2019/12/23(月) 20:46:52.21ID:f3nq+WHN そういえばBoostがマクロまみれだった。
2019/12/23(月) 21:01:02.33ID:wextYSDX
c++11以降の目的の一つがマクロつぶしだからな。
2019/12/23(月) 21:24:59.81ID:kZpvALBe
>>39
boostはまだ言語仕様で標準化されていない機能を標準化された機能で実現しようとしている部分が多いから、自然とマクロでどうにかしなきゃならない箇所が多いんだろう
boostはまだ言語仕様で標準化されていない機能を標準化された機能で実現しようとしている部分が多いから、自然とマクロでどうにかしなきゃならない箇所が多いんだろう
2019/12/24(火) 03:50:11.29ID:1TojzXfm
>>40
捨てるためにゴテゴテとよけいな機能をつけなくても、
スコープ内だけで有効なローカルマクロ的なものを導入すればそれで良かったような気がしなくもないが、
#includeが絡むとやっぱだめかなw
捨てるためにゴテゴテとよけいな機能をつけなくても、
スコープ内だけで有効なローカルマクロ的なものを導入すればそれで良かったような気がしなくもないが、
#includeが絡むとやっぱだめかなw
2019/12/24(火) 05:03:51.44ID:ZHC84Kgk
今さらEmscripten使ってwasm化してみたけどそこそこ使えそう
2019/12/24(火) 06:19:47.03ID:Dtupe+iE
いまさらかよ!
2019/12/24(火) 07:00:24.75ID:Zba7/+kU
マクロというかプリプロセスの一部を言語規格内に取り込まないと無理なんだろ
2019/12/24(火) 07:02:33.85ID:cUFUrp77
C++が進化してもマクロは無くならない
2019/12/24(火) 14:34:27.28
せめてなくそうとはしろ
2019/12/24(火) 15:28:29.91ID:mUUuTbFd
マクロは正義
今日もいくつも生やした
今日もいくつも生やした
2019/12/24(火) 15:40:51.62
マクロについて、江添はなんて言ってる?
2019/12/24(火) 15:46:02.23ID:VueyJ5PW
自分で読めば
51デフォルトの名無しさん
2019/12/24(火) 16:14:08.15ID:qpZ25SUC 逆にマクロが進化する可能性は。
2019/12/24(火) 16:15:20.38ID:Uve8u0PJ
それはやだねえ
2019/12/24(火) 17:12:20.17ID:iCGyxCxX
マクロの進化を考えてみた
マクロは型に対応していないのが問題なので、まず型を導入する
しかし完全に常に型を必要としてしまうと普通の関数や変数と違いがなくなるので
コンパイル時に決定できる場合に限り、ジェネリックに何でも受けいれるようにする
・・あ、そうだ同じ名前で複数の宣言を可にして、それのうち一つでもコンパイルエラーで
ないなら他は無視して、コンパイルできるもののみ有効とかにすると色々つかえるかもしれないな
たとえばある構造体に特定のメンバがあるかどうかでコンパイル時に処理を分岐するとか
マクロは型に対応していないのが問題なので、まず型を導入する
しかし完全に常に型を必要としてしまうと普通の関数や変数と違いがなくなるので
コンパイル時に決定できる場合に限り、ジェネリックに何でも受けいれるようにする
・・あ、そうだ同じ名前で複数の宣言を可にして、それのうち一つでもコンパイルエラーで
ないなら他は無視して、コンパイルできるもののみ有効とかにすると色々つかえるかもしれないな
たとえばある構造体に特定のメンバがあるかどうかでコンパイル時に処理を分岐するとか
2019/12/24(火) 17:42:03.17ID:OCcxjFNd
テンプレートですか?
2019/12/24(火) 17:44:14.13ID:vOfEkls8
マクロと言えばマクロアセンブラ
C/C++のマクロより高機能なので見てみると良い
C/C++のマクロより高機能なので見てみると良い
2019/12/24(火) 18:10:27.35ID:Uve8u0PJ
MASMのマクロと比べるべきはテンプレートだろ
2019/12/24(火) 18:17:05.63
C++コードをプリプロセスする専用の新規言語を発明すれば!
58デフォルトの名無しさん
2019/12/24(火) 18:31:34.23ID:IBUEMR4t >>53
それどこのtemplate
それどこのtemplate
59デフォルトの名無しさん
2019/12/24(火) 18:33:07.30ID:IBUEMR4t >>57
それどこのQt
それどこのQt
2019/12/24(火) 18:44:21.54ID:Uve8u0PJ
>>57
それはcfrontといって世界最古のC++だ
それはcfrontといって世界最古のC++だ
2019/12/24(火) 19:43:07.15ID:cUFUrp77
>>56
テンプレートとは違う
テンプレートとは違う
2019/12/24(火) 19:53:54.69ID:SdQqxQDy
>>60
そうか、C++11 or later を食らうをプリプロセッサーがウけるのか…
そうか、C++11 or later を食らうをプリプロセッサーがウけるのか…
2019/12/24(火) 20:06:18.60ID:ed+tLMlR
rustのようなマッチングでやるとか
他にはASTのAPI提供するとか
あとはlispみたいにやるとか
c/c++よりまともなやり方はあるけど正直どれもややこしいし上に
めんどくさいんだよね
他にはASTのAPI提供するとか
あとはlispみたいにやるとか
c/c++よりまともなやり方はあるけど正直どれもややこしいし上に
めんどくさいんだよね
2019/12/24(火) 20:10:21.58ID:ed+tLMlR
メタプログラミングにおいてあえてチューリング不完全にしちゃうってのは
悪くないデザインチョイスだと思うんだよね
すがすがしい
悪くないデザインチョイスだと思うんだよね
すがすがしい
2019/12/24(火) 21:38:38.95ID:4c9jV6+e
てかその手の糞みたいな発想はlispでやりつくされてる。
バカが知らないだけで。
バカが知らないだけで。
2019/12/24(火) 22:07:05.33ID:E1PNjCWX
includeでテキストファイルを文字列literalとして読み込んだり、CSVファイルを行毎に指定の変換で読み込んだりしたい
外部プログラムで変換するのがめんどい
外部プログラムで変換するのがめんどい
2019/12/24(火) 22:10:34.81ID:UL4fNRBx
なんとかいうプログラミングの偉いひとがいってたんだけど
「凡人が斬新な発想と思っている事の5割は既に誰かがやっており
残り5割は斬新ではなくそもそも機能しない」らしい
「凡人が斬新な発想と思っている事の5割は既に誰かがやっており
残り5割は斬新ではなくそもそも機能しない」らしい
2019/12/24(火) 22:34:55.01
よい子のみんな!のAAにもあるとおり
70デフォルトの名無しさん
2019/12/25(水) 12:25:41.21ID:2ymVLaRc 最強のC++はC++の道から外れないこと
2019/12/25(水) 13:27:29.92
C++のタオとは?
72デフォルトの名無しさん
2019/12/25(水) 14:04:21.60ID:VS52OTGY 振り返るとそこに道が出来ているってことでは。
2019/12/25(水) 15:20:11.91ID:R5R0tFog
c++ natureを極めるためにはc++公案で鍛えるしかない
2019/12/28(土) 19:48:57.63ID:8w0fwfLC
主要コンパイラはすべてサポートしているにも関わらずいまだに#pragma onceを使わない人が少なくないのはなぜ?
2019/12/28(土) 20:16:53.24ID:CXPtawUE
onceはclang-clにしたら文句言われた。
>>74
#if defined() / #ifdef で十分ですから
#progma once が規格に取り込まれでもしないかぎり状況はかわらないでしょうね
#progma once の優位性はなんでしょうか
#if defined() / #ifdef で十分ですから
#progma once が規格に取り込まれでもしないかぎり状況はかわらないでしょうね
#progma once の優位性はなんでしょうか
2019/12/28(土) 20:24:49.66ID:8w0fwfLC
一行で済む
万が一のdefineの衝突が起こらない
万が一のdefineの衝突が起こらない
2019/12/28(土) 20:34:45.01ID:izuDiHMA
今はgccでもつかえるんだっけか
2019/12/28(土) 20:40:53.71ID:8w0fwfLC
3.4.xのどこかで対応してるからもう10年以上前の話
80デフォルトの名無しさん
2019/12/28(土) 21:01:17.79ID:pepWReU2 VSについてくるclang-clはpragma once普通に使えてる。
81デフォルトの名無しさん
2019/12/28(土) 21:03:08.62ID:pepWReU2 いまcl、clang-cl、gccでチェックしてるけど、pragma onceは使えてる。
2019/12/28(土) 21:15:39.80ID:oW0/scDi
#pragma once
と書いておけばperlで#if defined() / #ifdefに直せる
と書いておけばperlで#if defined() / #ifdefに直せる
2019/12/28(土) 21:32:47.05ID:jUBDgrWb
標準化してくれれば良いのに
pragmaで出来ることの範疇越えている気はするけど
pragmaで出来ることの範疇越えている気はするけど
2019/12/28(土) 21:48:20.70ID:isXVaWAp
他のもろもろと合わせてモジュールに移行することで済ませるつもりなんでしょ。
2019/12/29(日) 01:41:15.83ID:BmrLXJpy
そういやまだモジュールサポートしてるコンパイラないな
2019/12/29(日) 01:54:26.89ID:KMgGrgwo
exportみたいになりませんように
87デフォルトの名無しさん
2019/12/29(日) 04:54:11.67ID:Q9hr3WtC C#だとis演算子を利用してキャスト可能か判定していますが、
C++でdynamic_castでキャスト可能かってどう判断すればよいのでしょうか?
後、static_castできるかどうかの判定はどうすればよいのでしょうか?
C++でdynamic_castでキャスト可能かってどう判断すればよいのでしょうか?
後、static_castできるかどうかの判定はどうすればよいのでしょうか?
88デフォルトの名無しさん
2019/12/29(日) 05:54:33.33ID:Jtzyjysr2019/12/29(日) 08:13:14.15ID:IGe5Ocj7
dynamic_castがnullptrを返すかどうかで判断
if (auto dp = dynamic_cast<Derived*>(bp)) {
(dpを使った処理)
}
if (auto dp = dynamic_cast<Derived*>(bp)) {
(dpを使った処理)
}
2019/12/29(日) 08:30:34.84ID:e4b1FoNz
91デフォルトの名無しさん
2019/12/29(日) 10:22:08.63ID:3P5H5aUL テトリスでプログラミングの基礎は身につくますか?
2019/12/29(日) 10:25:16.33ID:BmrLXJpy
いいえ
2019/12/29(日) 10:27:06.48ID:OzwmxFfF
2019/12/29(日) 10:43:20.20ID:iKwMwrMu
2019/12/29(日) 11:38:43.95ID:G7raGgQx
江添の最近出した本、このスレ的にはどういう評価なの?
2019/12/29(日) 13:32:59.69ID:KIjz0jVz
江添亮のC++入門、2019/9
こんな本を出していたのかw
関係ないけど、漏れは、下の本を読んでる。
短くまとめられていて良い
[改訂第3版]C++ポケットリファレンス、高橋 晶 ほか、2018
こんな本を出していたのかw
関係ないけど、漏れは、下の本を読んでる。
短くまとめられていて良い
[改訂第3版]C++ポケットリファレンス、高橋 晶 ほか、2018
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★5 [おっさん友の会★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 [ぐれ★]
- 【速報】 米大使「はっきりさせておこう、米国は尖閣諸島含め日本の防衛に全面コミット、中国がどうしようが変わらない」 [お断り★]
- 中国側が首相答弁の撤回要求、日本側拒否★7 [夜のけいちゃん★]
- 自民、経済対策で子ども1人に2万円給付へ 児童手当に上乗せ 所要額は約4000億円 [ぐれ★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★7 [ぐれ★]
- 【速報】高市首相「つい言い過ぎた」 存立危機事態の答弁について [237216734]
- 偏差値35大臣「英語話せない」 [834922174]
- 【ネトウヨ朗報】イギリスのトラス元首相、高市有事で高市早苗の支持を表明 [603416639]
- 【速報】中国、水産物輸入停止★2 [989870298]
- 【高市訃報】ホタテ業者、死亡😇😇😇 [573041775]
- 【悲報】斎藤元彦陣営のネット広報担当会社が投稿したnoteで騒然 ★950 [931948549]
