【初心者歓迎】C/C++室 Ver.101【環境依存OK】 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/07/18(火) 07:07:27.20ID:vzMDiUgd
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。

◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。

【アップローダー】(質問が長い時はココ使うと便利)
http://codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
http://ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)

前スレ
【初心者歓迎】C/C++室 Ver.100【環境依存OK】
http://mevius.2ch.net/test/read.cgi/tech/1478440682/
2017/08/05(土) 01:36:09.75ID:AmDvMFkm
Transact-SQLとかのことか?
2017/08/05(土) 02:01:06.28ID:mmL6pr8y
Linq とか
2017/08/05(土) 13:32:17.23ID:9ltGhnE7
>>314
SQL埋め込みコボルが世の中に何百万行残ってるとおもってんだ
2017/08/05(土) 17:30:23.26ID:eD6LHYAo
>>293
そりゃそうか
失礼しました
2017/08/06(日) 15:44:19.07ID:4cVoKrwP
コボルかー
じゃjavaとかpythonとかC++やCで大量データを扱おうと思ったら何らかのアルゴリズムでデーターベース自作するしかないの?
それともそういう目的だとすべからくLinqとかつかってるの?
2017/08/06(日) 16:33:45.26ID:k6XOSsfa
ORまっぱ
2017/08/07(月) 00:24:32.53ID:9fB0IwUX
大量のデータを処理したいのならPLSQLとかのdb上で動作するやつじゃないの?
2017/08/07(月) 00:26:46.20ID:DdwwpY1/
DB操作用のクラスが標準ライブラリにあるから、その言語はSQLをサポートしてると思ってるのだろう。
2017/08/08(火) 21:38:02.52ID:9+bCDZAx
const char ex1[] = "test";
const char ex2[] = { 't', 'e', 's', 't', '\0' };
auto ex3 = "test";
auto& ex4 = "test";
auto&& ex5 = "test";

ググってみると、ex1とex2は完全に等価、ex3はconst char*?
ex4とex5はconst char[]だけどex1、ex2と等価ではない?
どういうことッスか?なんかよー分からんです。
2017/08/08(火) 21:44:21.88ID:RV4q7wps
変数名の上にマウスポインターを持って行く
ぐらいは試したのだろうか
2017/08/08(火) 22:10:21.09ID:FFmZneRO
誰もかれもがモダンな統合開発環境を使ってると思ったら間違いやで。
2017/08/08(火) 22:12:27.93ID:m3/ZcJyF
早くナウいモダンボーイになれよ
2017/08/08(火) 22:13:12.16ID:RV4q7wps
>>325
その通りだ
では
http://ideone.com/GtYLLG
この結果を見てわからなければ出家するしかない

ついでにex1,2は関数が実行される度に配列が作られる
2017/08/08(火) 22:16:15.22ID:m3/ZcJyF
配列への参照というのが分かりにくいね。
2017/08/09(水) 18:30:53.88ID:hewgQard
using F = void () &;
struct A { void f() & {} };
F A::*const &mp = &A::f;

参照もこのぐらい複雑になるとコンパイラーですら正しく実装できないものが出てくる
2017/08/09(水) 20:42:43.33ID:deJRgLks
初心者歓迎スレはいつから難読コードスレになったんだ?
2017/08/09(水) 23:21:19.78ID:HVjwey6J
難読禁止スレではないし
それより言語を断らずにc++限定の話すんなや
2017/08/09(水) 23:58:04.92ID:1RczvVHb
ぷらぷらは意図しない難読化しやすいよなぁ
2017/08/10(木) 00:19:15.22ID:iih/xgGV
おまえらは意図してドヤ顔でオナニーコード貼って理解できないなら出家しろとか言ってるからな。

初心者相手にマウンティングとか見てて恥ずかしい。
2017/08/10(木) 07:19:08.51ID:9leEGZbL
バカにマウンティングしてるお前や俺よりマシだろ w
2017/08/10(木) 07:42:54.68ID:0ifqJKrS
http://d.hatena.ne.jp/yupo5656/20060907/
この話ってグローバル変数の時だけと思っていいですか?
void f(){ const char g[] = "asdf"; }
だと毎回初期化する分、損になりそうに思うんですが
2017/08/10(木) 07:57:39.32ID:OxRJE4uH
普通は最適化されて何の問題もないだろうけど

組み込み用の一部の糞コンパイラとかで使う可能性があるなら書き換えておいた方が良いかもね
2017/08/10(木) 08:00:25.98ID:OxRJE4uH
極端に悪くなる可能性のあるコードにしない
汎用性のあるコードを書く時の基本

特定の環境だけならその環境でテストしてみればわかること
2017/08/10(木) 08:05:23.26ID:PWbZqU7d
>>335
だからstatic付けろって書いてあるっしょ
2017/08/10(木) 12:55:02.15ID:XSzwBP/X
リテラルに名前付けたいだけなら
auto&&var=リテラル
何も考えずこれでええw
2017/08/10(木) 13:19:12.39ID:eseR3mB4
せやろか
2017/08/10(木) 14:56:24.20ID:R7slyUqA
はいそうです
2017/08/10(木) 16:20:23.29ID:K3yW/cOR
もしかして#defineで定数用意するよりそっちの方がかっこいい?
2017/08/10(木) 16:58:59.12ID:R5q9oGzu
マクロ多用するとデバッグ面倒にならね?
2017/08/10(木) 16:59:23.11ID:9PTjWwFP
#define A 100 ←存在が害悪の化石老人
auto &&A = 100; ←ODRを考えない短絡思考
constexpr int A = 100; // ←ふつうの人
constexpr auto &&A = 100; // ←ちょっとヘンな人
2017/08/10(木) 18:17:00.74ID:OxRJE4uH
組み込みCだとdefineしか出来なかったりするんだよ
2017/08/10(木) 18:23:30.24ID:0YJhJ81N
>>344
ODR って何の略?
2017/08/10(木) 18:53:23.23ID:cpubt7xV
>>346
ODRとはOne Definition RuleのことでC++の重要なルールである。
Cの仮定義と異なりC++ではインライン関数やテンプレートを除き
「定義」が複数あってはならない。
この多重定義の禁止と一部の例外を定めたルールがODRと呼ばれる。
例えばauto && A = 100;が記述されたヘッダファイルを
二つの翻訳単位からincludeしたとすると
二つの翻訳単位でAが定義されることになりエラーとなる。
詳細は処理系のマニュアルを見よ。
2017/08/10(木) 19:40:58.66ID:1RrigXav
もしかしてヘッダファイルにconstexpr auto &&A = "lkjdslkjf";とか書くのって合法?
#define 名前 定数としてたやつは全部constexpr auto &&名前 = 定数で置き換えられる?
2017/08/10(木) 21:11:04.47ID:yu1iQyxx
>>348
内部リンケージなのでODRには違反しない
翻訳単位ごとに実体が異なるのでアドレスが異なると困る場合には使うべきでないが
これは旧来のstatic constやdefineでも変わらない
2017/08/11(金) 03:47:43.97ID:eOUFNbYQ
#define→enum→const→constexpr
定数書くのに変わり杉です
理想論いらないです#define溢れた現実世界見よ
2017/08/11(金) 08:37:53.72ID:NrUav3sg
>>350
老害の見苦しい言い訳乙
ディープラーニングとか言っても理解できないんでしょ?涙拭けよ
2017/08/11(金) 08:55:50.68ID:xt3khzo9
constexprにしたほうがいいものがconstになってるのは結構あるけど、defineなんてほぼ見ないけどな
2017/08/11(金) 11:58:39.97ID:vOciZ7Dc
>>351
Aで詐欺でもしてるんですか?
2017/08/11(金) 13:32:11.00ID:eZ0/1svY
さすがに #define は殺そう
2017/08/11(金) 14:16:58.81ID:Tw4iEl8C
組み込みのチープな世界を知らないんだな
2017/08/11(金) 14:29:14.52ID:Ngnf1AZe
知る必要すらない
2017/08/11(金) 14:37:28.25ID:Tw4iEl8C
リッチな環境限定のスレじゃないから
環境依存OK
2017/08/11(金) 14:39:12.01ID:Tw4iEl8C
知る必要がない人が大部分だろうが
ここはそういう人限定のスレではない
2017/08/11(金) 14:40:43.01ID:Tw4iEl8C
>>354 みたいなのを見ると、視野が狭いと思ってしまう
色々な事情で色々なコードがある
2017/08/11(金) 14:43:55.42ID:Tw4iEl8C
Cに移植する可能性がゼロであるコードをC++上で新規でdefineで書いてたら老害だと思う
2017/08/11(金) 15:18:06.60ID:BFfVWgAm
組み込みCだとstatic const使えてもアセンブリレベルで
即値にならないので#defineは常識
環境依存スレで多様性否定する奴は去れ
2017/08/11(金) 15:54:54.01ID:99wg1jHM
>>355
どこのコンパイラ使ってるか書いてみ
2017/08/11(金) 16:37:53.27ID:eZ0/1svY
>>361
だからそういうコンパイラを殺そうぜっていう話な
2017/08/11(金) 19:54:31.22ID:+jIwXf8Q
constとconstexprの違いがよくわからない
2017/08/11(金) 20:11:06.67ID:TX++PaV2
動的か静的かの違い?
2017/08/11(金) 20:26:59.57ID:xY0P43RN
ROM に書ける内容だったら constexpr
RAM に置かなければならないのなら const
2017/08/11(金) 20:35:58.34ID:+GdUPlS/
ROMって見たこと無いけど実在するの?
2017/08/11(金) 22:35:43.38ID:nYt6U0do
>>323
分かるヤツ使ってればいいだろ
2017/08/11(金) 22:38:20.04ID:+GdUPlS/
>>364
どちらもコンパイル時に決まるものも決まらないものも扱うUNKO仕様なので常人が理解できないのは致し方ない
一つ知っておくべきなのは「constexprの変数はコンパイル時に決まるもののみ」ということ
2017/08/12(土) 06:07:41.79ID:Bi4KH0eW
>>367
一般人はRAMも見たことないよ

組み込み用マイコンだと、フラッシュROMからそのまま実行したりする
コードもconstデータもROMに置いてそのまま実行出来る
2017/08/12(土) 08:39:04.62ID:kmz0IeX9
メモリ増設の時ぐらいしかスロット見ないし
え?別の話?
2017/08/12(土) 08:43:37.90ID:4bZijuJS
光学メディアもROM、RAMか
2017/08/12(土) 08:45:12.28ID:W5hpPQ56
デシタルネイティブ「RAMもROMを見たことがない」
2017/08/12(土) 09:18:14.87ID:l8v9tpAX
>>373
> デシタルネイティブ「RAMもROMを見たことがない」
デバイスの話なのか
チップの話なのか
ダイの話なのか
2017/08/12(土) 11:23:24.91ID:cYvxwySm
>>374
そんなこともわからんのかジジイは
「どんなものかは知らんがRAMとかROMとか呼ばれるモンを見たことがない」
ってことだ
それ以上の意味はない
2017/08/12(土) 11:30:23.35ID:Rv1gs3bL
CDショップやDVDレンタルショップがあってもそこに並んでいるのがROMだと認識できない無知なだけでは
2017/08/12(土) 14:15:09.06ID:5zwa3GdH
>>376
いまどきの若者は CD も DVD も使わんのやで。
2017/08/12(土) 14:27:13.69ID:sYSoZbpb
CDROMなら知ってるよ
2017/08/12(土) 15:36:58.80ID:B05a5g6/
まあスマホのスペックにはROMとRAMの容量が書いてあるけど
殆どの利用者は理解してないな
2017/08/12(土) 16:26:44.03ID:5zwa3GdH
スマホの表記で ROM って言ってるの、そもそも ROM じゃないだろっていう。
2017/08/12(土) 17:41:32.36ID:ORwFQQja
フラッシュはEEPROMの一種だからな
2017/08/12(土) 18:25:30.05ID:Bi4KH0eW
フラッシュはROMの一種
2017/08/12(土) 22:15:11.32ID:KtFjlZWy
class C {
private:
static int secret;
public:
friend int peep() {return secret;}
};
このpeepはどうやって呼び出すのが正解なんだぜ?
2017/08/12(土) 22:18:47.73ID:3DdLvbHE
てかそれコンパイル通る?
2017/08/12(土) 22:25:08.16ID:KtFjlZWy
>>384
コンパイルは通るんだがまるで飲み込まれたようだぜ
c.peep();
peep();
C::peep();
どれも反応しない
2017/08/12(土) 22:28:18.66ID:3DdLvbHE
へー、通るんだ。
とりあえず、peep()はメンバー関数じゃないから引数にCを渡すなりするのが普通の使い方だろう。
2017/08/12(土) 22:33:38.16ID:l8v9tpAX
>>380
「そもそもROM」ってなに?
マスクROMしかダメとか?
2017/08/12(土) 22:41:10.73ID:KtFjlZWy
おおお
Cクラス渡すと通った
class C {
private:
static int secret;
public:
friend int peep(C data) {return secret;}
};
int PosCalc(BOOL flag) {
C data(0, 0)
int count = peep(data);
//いろいろ計算
}
ダミーでインスタンス渡すってことなんだな
2017/08/12(土) 22:44:09.18ID:WjSPvpbD
friendの意味分かってる?
2017/08/12(土) 22:53:16.34ID:Yi4OBpEw
ROM 不揮発メモリ
RAM 揮発メモリ
リードオンリー何それ
2017/08/12(土) 23:05:04.34ID:Bi4KH0eW
MRAMとかFRAMは不揮発
2017/08/12(土) 23:05:42.05ID:qm/cOPpP
>>383
http://ideone.com/qc8SUA
2017/08/12(土) 23:10:35.92ID:3DdLvbHE
secretはstaticだったか。見落としてた。
2017/08/13(日) 00:36:14.04ID:B4YDUmld
>>387
Read Only つってるのに、意味が拡大して結局それどういう意味なんだよっていう
2017/08/13(日) 01:36:36.53ID:HI8S2XNx
文脈で判断しないと。CでROMつったら不揮発性メモリのこと。CDROMのことではない。
2017/08/13(日) 01:39:15.30ID:PA7iDDOj
それにしてもfirendって付けた関数の方にボディーを書くことが出来るんだな
キモ
2017/08/13(日) 01:59:58.88ID:8O7/DK3E
CでぇーROMまんてぃっく
2017/08/13(日) 06:29:34.48ID:03rMAOAx
>>395
それは違う
2017/08/13(日) 06:30:06.63ID:03rMAOAx
>>396
friendじゃなくてもかけるけど
2017/08/13(日) 07:55:49.45ID:WSSr83j3
>>390
ReadOnlyMemory
2017/08/13(日) 08:21:05.43ID:49RznEc3
揮発不揮発は関係ない
読み込みと同等の速度で普通に書き込みが出来るか
Cの場合、普通の代入やmemcpyで普通に書き込み出来るかどうか
2017/08/13(日) 09:45:28.87ID:HI8S2XNx
>>398
おまえのマイコンにはCDROMが内臓されてるのかよ。馬鹿は休み休みいえ。
2017/08/13(日) 10:05:31.19ID:HI8S2XNx
>>401
また頓珍漢なことを。
2017/08/13(日) 10:16:39.11ID:TSMbvEPJ
>>395
メモリの不揮発性ってのは意味合いが違うぞ。
フラッシュメモリは不揮発性だがROMではない。
2017/08/13(日) 10:25:56.46ID:HI8S2XNx
EEPROMの一種だろうが。組み込み経験ない奴はもうレスすんな。
2017/08/13(日) 10:37:54.73ID:TSMbvEPJ
組み込み経験と何の関係がw
2017/08/13(日) 10:38:05.69ID:PA7iDDOj
>>399
普通friend指定はこのようにするとおもう
http://www.sirochro.com/note/cpp-class-friend-function/

それを
http://ideone.com/qc8SUA
のように出来るのはキモいと思うが
2017/08/13(日) 11:19:48.45ID:HG5dPUko
>>404
フラッシュメモリはROMの仲間だけど…
2017/08/13(日) 11:20:22.74ID:md5XkZ0n
EEPROMはROMなのか?
2017/08/13(日) 11:31:45.02ID:HG5dPUko
不揮発性だけどROMでしょ
2017/08/13(日) 20:43:58.81ID:Tf2liO6H
そりゃ揮発性のROMって意味ないから...
2017/08/13(日) 21:09:32.11ID:1akT1/u1
肉抜きのステーキとかチーズ抜きのチーズバーガーみたいなもの?
2017/08/13(日) 23:37:23.43ID:b2PcXx/4
そういうこと言うから豆腐ステーキとか書きたくなる
2017/08/13(日) 23:41:05.82ID:WikyJvVl
>>356
そういう仕事をするハメになったら
タラタラ文句言うだけで成果出せなくてもいいの?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況