[過去ログ] 【初心者歓迎】C/C++室 Ver.106【環境依存OK】 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: 2020/07/13(月)13:51 ID:WBkWHxcT(1/3) AAS
エスケープシーケンスやWin32APIなどの環境依存なものもOK
そのような質問は必ず環境を書きましょう
半角空白やタブでのインデントはスレに貼ると無くなります

コードを貼れる所
外部リンク:codepad.org
外部リンク:ideone.com

前スレ
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
2chスレ:tech
2: 2020/07/13(月)13:53 ID:WBkWHxcT(2/3) AAS
C言語を256倍使うための本
外部リンク:www.%61mazon.co.jp/dp/4756100430
詳説 C++ 第2版
外部リンク:www.%61mazon.co.jp/dp/479732743X
3: 2020/07/13(月)14:08 ID:p1lvDPnd(1/2) AAS
C++20
外部リンク:ja.cppreference.com
外部リンク:ja.cppreference.com

外部リンク:www.open-std.org
外部リンク:www.slideshare.net
外部リンク:ja.wikipedia.org
外部リンク:ja.wikipedia.org
4: 2020/07/13(月)14:09 ID:p1lvDPnd(2/2) AAS
禿
外部リンク:ja.wikipedia.org
外部リンク:ezoeryou.github.io
外部リンク:ezoeryou.github.io
外部リンク:ezoeryou.github.io
外部リンク:ezoeryou.github.io
5: 2020/07/13(月)14:14 ID:+mCuetAH(1/2) AAS
外部リンク:boostjp.github.io
外部リンク:cpprefjp.github.io
6: 2020/07/13(月)14:17 ID:+mCuetAH(2/2) AAS
Qt
外部リンク:www.qt.io
外部リンク:www.slideshare.net
wxWidgets
外部リンク:www.wxwidgets.org
外部リンク:github.com
Tcl/Tk
外部リンク:www.tcl.tk
7
(1): 2020/07/13(月)16:28 ID:srh9sya6(1/2) AAS
メンバに自クラスの配列を持つクラスのメンバ配列の初期化はc++ではどうやりますか?Javaでは下のように出来てます。

☆Javaでこうなっています
class A {
protected A[] node = new A[3];
}

☆c++でこうしたらエラーになりました。
@a.hpp
class A {
public:
static A node[];
省5
8
(1): 2020/07/13(月)16:38 ID:ny9O75E1(1/3) AAS
>>7
nodeは静的メンバ変数でいいの?
java同様、staticはすべてのクラスインスタンスで共通の変数って意味だけど。
9
(1): 2020/07/13(月)16:41 ID:srh9sya6(2/2) AAS
>>8
ダメだとは思ってましたが、つけないと不完全な型名は使用できませんと怒られました。
c++ではメンバに自クラスの変数がいるとダメなのですか?
10: 2020/07/13(月)17:07 ID:WBkWHxcT(3/3) AAS
うまくいく例
class A {
public:
static A *node;
};

A *A::node = new A[3];
11: 2020/07/13(月)17:22 ID:ny9O75E1(2/3) AAS
staticにしない例
class A {
public:
A *node;
A();
};

A::A() {
node = new A[3];
}
12: 2020/07/13(月)17:27 ID:ny9O75E1(3/3) AAS
あ、ループしちゃった
13: 2020/07/13(月)17:30 ID:KVdg44rD(1) AAS
>>9
> c++ではメンバに自クラスの変数がいるとダメなのですか?
そりゃだめだよ、もしそんなのができたら
class A {
A a;
int b;
};
A x;
とした時に x.b; x.a.b; x.a.a.b; ... みたいに無限に int b; を作る羽目になるから。
Javaなどは
省5
14
(2): 2020/07/13(月)17:33 ID:17o/9bhC(1/2) AAS
C++のクラス変数とJavaのクラス変数の違い、だっけ。
端的に「C++ではnewなしにクラス変数を宣言して使える」ようにするため。

Javaと対比しながら説明する能力がないんで中途半端で悪いけど。
15: 14 2020/07/13(月)19:29 ID:17o/9bhC(2/2) AAS
× 変数を宣言
○ 変数を定義

中途半端な上に間違っててすまぬ。
あまつさえ細かい訂正のために貴重な投稿枠の浪費までも。
16
(1): 2020/07/14(火)08:27 ID:bhhAeN2N(1) AAS
>>14
クラス変数の問題ではなく、クラスのメンバとして配列を宣言した場合にC++では配列の実体をメンバとして持つのに対し、Javaでは配列の実体は別のところに作られて参照だけを持つというところでないの?
17: 2020/07/14(火)08:30 ID:5kZc9hZE(1) AAS
7の人です
みなさんありがとうございます
別のやり方考えます
18: 2020/07/14(火)09:28 ID:PHX4w74f(1) AAS
>>16
配列は関係ない
C++はクラス型のクラス変数を定義すると実体を持つから自分自身を定義できないってだけ
JavaやC#は実体じゃなくてポインタを持つだけだから問題ないってこと
19
(1): 2020/07/14(火)12:52 ID:Mma3I+br(1) AAS
C/C++ はヌルポを敢えて使う
20
(2): ◆QZaw55cn4c 2020/07/14(火)20:49 ID:M3PBKw+D(1) AAS
>>19
確かに仮想関数じゃなかったら普通に this に 0 を入れてもコールできますね…
外部リンク:ideone.com
21: 2020/07/14(火)23:49 ID:PYLNqhFb(1) AAS
未定義動作
22: はちみつ餃子 ◆8X2XSCHEME 2020/07/15(水)01:04 ID:hr2ndtrb(1/3) AAS
>>20
わかりやすく変な挙動に突入する例。
外部リンク:wandbox.org
23
(3): 2020/07/15(水)12:07 ID:cL9c5hZ8(1/3) AAS
enum {hoge, fuga, hage};

hoge==0
fuga==1
hage==2
として使えるとして
0,1,2とかの数字から実行時にhoge,fuga,hageの名前を知りたい時って
何か便利なインターフェースありますか?
みんな毎回線形探索のコード描くみたいにやってる?
24: 2020/07/15(水)12:39 ID:fkxllX2L(1) AAS
>>23
連番なら配列に入れときゃいい
番号飛んでいて…
・件数少ないなら線形サーチ
・件数多いならハッシュとかバイナリサーチとか
25: 2020/07/15(水)12:50 ID:Gd6Zo+Db(1) AAS
>>23
VSだったらデバッガで名前表示されるけど
あれ列挙に名前までつけた時だけだっけな
26: 2020/07/15(水)13:02 ID:cL9c5hZ8(2/3) AAS
連番じゃないときとか
結構でかい番号だったりするときは困りますね
27: 2020/07/15(水)13:08 ID:ONqo+DKP(1) AAS
##演算子でどうにかなるんじゃね
28: 2020/07/15(水)13:14 ID:jM1x+GOc(1) AAS
IT掲示板群 外部リンク[aspx]:x0000.net

学術の巨大掲示板群 - アルファ・ラボ 外部リンク:x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など

simulationライブラリで純粋な関数式プログラミングをする
外部リンク[aspx]:x0000.net
UIライブラリ (C#, 2D) を作ったよ
外部リンク[aspx]:x0000.net
連続と離散を統一した!
外部リンク[aspx]:x0000.net
省12
29: 2020/07/15(水)13:38 ID:cL9c5hZ8(3/3) AAS
線形探索するにしても enum 用に foreach もあるのかなと思ったのですが
外部リンク:sanichi999.hateblo.jp
こんな感じですね
名前とか同じことを何度も書いてる気がしてしまうのと
割と定型な気がするのでコンパイラが提供してくれてないかなと思ったで質問しました
30: はちみつ餃子 ◆8X2XSCHEME 2020/07/15(水)15:30 ID:hr2ndtrb(2/3) AAS
実行時に列挙定数の名前の文字列が欲しいことがそんなにあるかな?
デバッグプリント用途くらいしか思いつかんのだけど。
31
(2): 2020/07/15(水)16:14 ID:LgiIyt9Z(1) AAS
vector<int> a = {8, 1, 9, 5, 7, 3};
があるときに例えば
vector<int> b = a{0, 2, 5};
とかしたら
b が {8, 9, 3} の配列みたいになってくれる書き方ってありますか?
32: 2020/07/15(水)16:43 ID:stUpixMt(1) AAS
vector<int> b = {a[0], a[2], a[5]};
33
(1): はちみつ餃子 ◆8X2XSCHEME 2020/07/15(水)20:59 ID:hr2ndtrb(3/3) AAS
>>31
そういう関数を書けばええだけちゃうの

外部リンク:wandbox.org
34: 2020/07/15(水)23:08 ID:4eO2mC8f(1) AAS
>>31 for(int& e: b) e = a[e];
35: 2020/07/16(木)12:17 ID:rBscjMJk(1) AAS
>>23
msvc/clangのc++17限定でよければ、nameof c++というライブラリがある。
36
(2): 2020/07/16(木)12:58 ID:Bj5j4Y6i(1) AAS
>>33
外部リンク:ideone.com

for(auto t: {indices...}) std::cout << source[t] << std::endl;
だと動くのですが
for(T t: {indices...}) std::cout << source[t] << std::endl;
だとエラーになります
どうして?
37: はちみつ餃子 ◆8X2XSCHEME 2020/07/16(木)13:49 ID:MICl0UeU(1) AAS
>>36
エラーメッセージを見ればわかるやろ。
T はパラーメーターパックであって、展開せずに使うということはできへんのや……。
38: 2020/07/16(木)15:12 ID:sYAaUXpT(1) AAS
>>36
memo
外部リンク:ideone.com
外部リンク:theolizer.com
39: 2020/07/17(金)13:55 ID:xXsIieN6(1) AAS
テンプレートが型付マクロにしかみえません
眼科に行った方が良いですか?
40: 2020/07/17(金)14:44 ID:p55TjBUs(1) AAS
型付であることこそ重要です
41: 2020/07/17(金)17:27 ID:LIcKojh8(1) AAS
マクロといってのcのマクロではなくlispのマクロ的な機能
まあコンパイル時の制限はあるけど
42
(1): 2020/07/18(土)01:05 ID:vSXqjqjP(1) AAS
Win32APIでコンボボックスの値をオーナードローしているんですが、wchar_tで項目追加すると文字の描画ができるんですが、
c_str()だと文字化けします。何故ですか?

・WM_INITDIALOG
 文字化けしないケース
  const wchar_t *a = L"あいうえお";
  SendMessage(hForeColor, CB_ADDSTRING, 0, LPARAM(a));

 文字化けするケース
  std::wstring b = L"あいうえお";
  SendMessage(hForeColor, CB_ADDSTRING, 0, LPARAM(b.c_str()));

・WM_DRAWITEM
省1
43: 2020/07/18(土)01:43 ID:2xoJksuz(1) AAS
表示する時にはbが解放されてるんじゃないの?
44: 2020/07/18(土)02:35 ID:IdAxqtyn(1) AAS
オーナードローの時、CBS_HASSTRINGSスタイル指定しないと、そんな感じになるっぽいね
CB_ADDSTRINGメッセージに書いてあるね
45
(1): 2020/07/18(土)13:25 ID:94poIsAY(1/2) AAS
1つの言語をある程度やりこまないと能力値がリセットされますか?
46: 2020/07/18(土)13:38 ID:uRU3MGLx(1) AAS
理解する能力と
使いこなす能力と
創造する能力は
全部別
47: 2020/07/18(土)15:42 ID:94poIsAY(2/2) AAS
理解力のことです
ごめんなさい
48: 2020/07/18(土)15:58 ID:qVma+RcU(1) AAS
リセットはされない。
複数言語を学ぶときは並行にやって混乱するか順番にやって混乱するかのどちらか。
自分に向いた方を選べ。
49: 2020/07/18(土)16:14 ID:C0jdHcgs(1) AAS
ある程度やりこまなければある程度落ちるのは常識
ある程度やりこめばある程度上がるのも常識
50: 2020/07/18(土)17:22 ID:Bt+NBO6d(1) AAS
>>45
リセットされたのではなく、自分が理解できていたと思い込んでいただけで実際の理解がその程度だったということに気づかされただけだと思うぞ。
51: 2020/07/18(土)18:01 ID:51enBbxV(1) AAS
あるある
52
(1): 2020/07/18(土)18:20 ID:sJrDCvPM(1/2) AAS
fopenでccs=utf-8を指定して改行コードのCRLFをfputwsで書き込んだら
CRCRLFになったんですけど。バグですか?
53: 2020/07/18(土)18:38 ID:yqiH8/gB(1) AAS
appendで開いてたり
1-
あと 949 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.215s*