エスケープシーケンスやWin32APIなどの環境依存なものもOK
そのような質問は必ず環境を書きましょう
半角空白やタブでのインデントはスレに貼ると無くなります
コードを貼れる所
http://codepad.org/
https://ideone.com/
前スレ
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1556142878/
【初心者歓迎】C/C++室 Ver.106【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
2020/07/13(月) 13:51:48.09ID:WBkWHxcT
2デフォルトの名無しさん
2020/07/13(月) 13:53:44.41ID:WBkWHxcT C言語を256倍使うための本
ttps://www.%61mazon.co.jp/dp/4756100430
詳説 C++ 第2版
ttps://www.%61mazon.co.jp/dp/479732743X
ttps://www.%61mazon.co.jp/dp/4756100430
詳説 C++ 第2版
ttps://www.%61mazon.co.jp/dp/479732743X
2020/07/13(月) 14:08:11.33ID:p1lvDPnd
C++20
https://ja.cppreference.com/w/cpp/compiler_support
https://ja.cppreference.com/
豆
http://www.open-std.org/
https://www.slideshare.net/KMC_JP/ss-45855264
https://ja.wikipedia.org/wiki/%E5%80%8D%E7%B2%BE%E5%BA%A6%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0
https://ja.wikipedia.org/wiki/%E8%AA%A4%E5%B7%AE#%E8%A8%88%E7%AE%97%E8%AA%A4%E5%B7%AE%E3%81%AE%E7%A8%AE%E9%A1%9E
https://ja.cppreference.com/w/cpp/compiler_support
https://ja.cppreference.com/
豆
http://www.open-std.org/
https://www.slideshare.net/KMC_JP/ss-45855264
https://ja.wikipedia.org/wiki/%E5%80%8D%E7%B2%BE%E5%BA%A6%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0
https://ja.wikipedia.org/wiki/%E8%AA%A4%E5%B7%AE#%E8%A8%88%E7%AE%97%E8%AA%A4%E5%B7%AE%E3%81%AE%E7%A8%AE%E9%A1%9E
2020/07/13(月) 14:09:20.92ID:p1lvDPnd
禿
https://ja.wikipedia.org/wiki/%E3%83%93%E3%83%A3%E3%83%BC%E3%83%8D%E3%83%BB%E3%82%B9%E3%83%88%E3%83%AD%E3%83%B4%E3%82%B9%E3%83%88%E3%83%AB%E3%83%83%E3%83%97
https://ezoeryou.github.io/cpp-intro/
https://ezoeryou.github.io/cpp17book/
https://ezoeryou.github.io/cpp14-appendix/
https://ezoeryou.github.io/cpp-book/C++11-Syntax-and-Feature.xhtml
https://ja.wikipedia.org/wiki/%E3%83%93%E3%83%A3%E3%83%BC%E3%83%8D%E3%83%BB%E3%82%B9%E3%83%88%E3%83%AD%E3%83%B4%E3%82%B9%E3%83%88%E3%83%AB%E3%83%83%E3%83%97
https://ezoeryou.github.io/cpp-intro/
https://ezoeryou.github.io/cpp17book/
https://ezoeryou.github.io/cpp14-appendix/
https://ezoeryou.github.io/cpp-book/C++11-Syntax-and-Feature.xhtml
2020/07/13(月) 14:14:23.03ID:+mCuetAH
2020/07/13(月) 14:17:35.80ID:+mCuetAH
2020/07/13(月) 16:28:13.78ID:srh9sya6
メンバに自クラスの配列を持つクラスのメンバ配列の初期化はc++ではどうやりますか?Javaでは下のように出来てます。
☆Javaでこうなっています
class A {
protected A[] node = new A[3];
}
☆c++でこうしたらエラーになりました。
@a.hpp
class A {
public:
static A node[];
};
@a.cpp
#include "a.hpp"
A A::node[] = new A[3];
ちなみに型Aを適当にintとかにしたらc++の方もいけました。
☆Javaでこうなっています
class A {
protected A[] node = new A[3];
}
☆c++でこうしたらエラーになりました。
@a.hpp
class A {
public:
static A node[];
};
@a.cpp
#include "a.hpp"
A A::node[] = new A[3];
ちなみに型Aを適当にintとかにしたらc++の方もいけました。
2020/07/13(月) 16:38:40.16ID:ny9O75E1
2020/07/13(月) 16:41:24.41ID:srh9sya6
10デフォルトの名無しさん
2020/07/13(月) 17:07:02.67ID:WBkWHxcT うまくいく例
class A {
public:
static A *node;
};
A *A::node = new A[3];
class A {
public:
static A *node;
};
A *A::node = new A[3];
2020/07/13(月) 17:22:15.52ID:ny9O75E1
staticにしない例
class A {
public:
A *node;
A();
};
A::A() {
node = new A[3];
}
class A {
public:
A *node;
A();
};
A::A() {
node = new A[3];
}
2020/07/13(月) 17:27:36.45ID:ny9O75E1
あ、ループしちゃった
2020/07/13(月) 17:30:23.80ID:KVdg44rD
>>9
> c++ではメンバに自クラスの変数がいるとダメなのですか?
そりゃだめだよ、もしそんなのができたら
class A {
A a;
int b;
};
A x;
とした時に x.b; x.a.b; x.a.a.b; ... みたいに無限に int b; を作る羽目になるから。
Javaなどは
class A {
A *a;
int b;
};
みたいなのしかできないから問題ないだけ。
> c++ではメンバに自クラスの変数がいるとダメなのですか?
そりゃだめだよ、もしそんなのができたら
class A {
A a;
int b;
};
A x;
とした時に x.b; x.a.b; x.a.a.b; ... みたいに無限に int b; を作る羽目になるから。
Javaなどは
class A {
A *a;
int b;
};
みたいなのしかできないから問題ないだけ。
2020/07/13(月) 17:33:49.37ID:17o/9bhC
C++のクラス変数とJavaのクラス変数の違い、だっけ。
端的に「C++ではnewなしにクラス変数を宣言して使える」ようにするため。
Javaと対比しながら説明する能力がないんで中途半端で悪いけど。
端的に「C++ではnewなしにクラス変数を宣言して使える」ようにするため。
Javaと対比しながら説明する能力がないんで中途半端で悪いけど。
1514
2020/07/13(月) 19:29:02.10ID:17o/9bhC × 変数を宣言
○ 変数を定義
中途半端な上に間違っててすまぬ。
あまつさえ細かい訂正のために貴重な投稿枠の浪費までも。
○ 変数を定義
中途半端な上に間違っててすまぬ。
あまつさえ細かい訂正のために貴重な投稿枠の浪費までも。
2020/07/14(火) 08:27:52.03ID:bhhAeN2N
>>14
クラス変数の問題ではなく、クラスのメンバとして配列を宣言した場合にC++では配列の実体をメンバとして持つのに対し、Javaでは配列の実体は別のところに作られて参照だけを持つというところでないの?
クラス変数の問題ではなく、クラスのメンバとして配列を宣言した場合にC++では配列の実体をメンバとして持つのに対し、Javaでは配列の実体は別のところに作られて参照だけを持つというところでないの?
2020/07/14(火) 08:30:26.07ID:5kZc9hZE
7の人です
みなさんありがとうございます
別のやり方考えます
みなさんありがとうございます
別のやり方考えます
2020/07/14(火) 09:28:38.75ID:PHX4w74f
19デフォルトの名無しさん
2020/07/14(火) 12:52:08.42ID:Mma3I+br C/C++ はヌルポを敢えて使う
2020/07/14(火) 23:49:13.61ID:PYLNqhFb
未定義動作
22はちみつ餃子 ◆8X2XSCHEME
2020/07/15(水) 01:04:37.36ID:hr2ndtrb23デフォルトの名無しさん
2020/07/15(水) 12:07:21.21ID:cL9c5hZ8 enum {hoge, fuga, hage};
で
hoge==0
fuga==1
hage==2
として使えるとして
0,1,2とかの数字から実行時にhoge,fuga,hageの名前を知りたい時って
何か便利なインターフェースありますか?
みんな毎回線形探索のコード描くみたいにやってる?
で
hoge==0
fuga==1
hage==2
として使えるとして
0,1,2とかの数字から実行時にhoge,fuga,hageの名前を知りたい時って
何か便利なインターフェースありますか?
みんな毎回線形探索のコード描くみたいにやってる?
2020/07/15(水) 12:39:32.75ID:fkxllX2L
2020/07/15(水) 12:50:24.76ID:Gd6Zo+Db
26デフォルトの名無しさん
2020/07/15(水) 13:02:12.66ID:cL9c5hZ8 連番じゃないときとか
結構でかい番号だったりするときは困りますね
結構でかい番号だったりするときは困りますね
27デフォルトの名無しさん
2020/07/15(水) 13:08:43.15ID:ONqo+DKP ##演算子でどうにかなるんじゃね
28デフォルトの名無しさん
2020/07/15(水) 13:14:49.36ID:jM1x+GOc IT掲示板群 ttp://x0000.net/forum.aspx?id=15
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン(画像有り)
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
☆ VMを書いた(C#) * x86ではない!
ttp://up.x0000.net/files/TSimulang.zip
☆ malloc / free を実装してみた (C#)
ttp://up.x0000.net/files/TMallocTest.zip
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン(画像有り)
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
☆ VMを書いた(C#) * x86ではない!
ttp://up.x0000.net/files/TSimulang.zip
☆ malloc / free を実装してみた (C#)
ttp://up.x0000.net/files/TMallocTest.zip
29デフォルトの名無しさん
2020/07/15(水) 13:38:14.90ID:cL9c5hZ8 線形探索するにしても enum 用に foreach もあるのかなと思ったのですが
http://sanichi999.hateblo.jp/entry/2014/12/19/011820
こんな感じですね
名前とか同じことを何度も書いてる気がしてしまうのと
割と定型な気がするのでコンパイラが提供してくれてないかなと思ったで質問しました
http://sanichi999.hateblo.jp/entry/2014/12/19/011820
こんな感じですね
名前とか同じことを何度も書いてる気がしてしまうのと
割と定型な気がするのでコンパイラが提供してくれてないかなと思ったで質問しました
30はちみつ餃子 ◆8X2XSCHEME
2020/07/15(水) 15:30:19.58ID:hr2ndtrb 実行時に列挙定数の名前の文字列が欲しいことがそんなにあるかな?
デバッグプリント用途くらいしか思いつかんのだけど。
デバッグプリント用途くらいしか思いつかんのだけど。
2020/07/15(水) 16:14:13.34ID:LgiIyt9Z
vector<int> a = {8, 1, 9, 5, 7, 3};
があるときに例えば
vector<int> b = a{0, 2, 5};
とかしたら
b が {8, 9, 3} の配列みたいになってくれる書き方ってありますか?
があるときに例えば
vector<int> b = a{0, 2, 5};
とかしたら
b が {8, 9, 3} の配列みたいになってくれる書き方ってありますか?
2020/07/15(水) 16:43:08.71ID:stUpixMt
vector<int> b = {a[0], a[2], a[5]};
33はちみつ餃子 ◆8X2XSCHEME
2020/07/15(水) 20:59:08.41ID:hr2ndtrb2020/07/15(水) 23:08:06.76ID:4eO2mC8f
>>31 for(int& e: b) e = a[e];
2020/07/16(木) 12:17:49.42ID:rBscjMJk
>>23
msvc/clangのc++17限定でよければ、nameof c++というライブラリがある。
msvc/clangのc++17限定でよければ、nameof c++というライブラリがある。
2020/07/16(木) 12:58:54.15ID:Bj5j4Y6i
>>33
https://ideone.com/x0lKkD
で
for(auto t: {indices...}) std::cout << source[t] << std::endl;
だと動くのですが
for(T t: {indices...}) std::cout << source[t] << std::endl;
だとエラーになります
どうして?
https://ideone.com/x0lKkD
で
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:08.52ID:MICl0UeU2020/07/16(木) 15:12:49.52ID:sYAaUXpT
2020/07/17(金) 13:55:06.86ID:xXsIieN6
テンプレートが型付マクロにしかみえません
眼科に行った方が良いですか?
眼科に行った方が良いですか?
2020/07/17(金) 14:44:53.44ID:p55TjBUs
型付であることこそ重要です
2020/07/17(金) 17:27:51.73ID:LIcKojh8
マクロといってのcのマクロではなくlispのマクロ的な機能
まあコンパイル時の制限はあるけど
まあコンパイル時の制限はあるけど
42デフォルトの名無しさん
2020/07/18(土) 01:05:56.87ID:vSXqjqjP 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
DrawText(lpDraw->hDC, (wchar_t*)lpDraw->itemData, -1, &r2, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
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
DrawText(lpDraw->hDC, (wchar_t*)lpDraw->itemData, -1, &r2, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
2020/07/18(土) 01:43:29.19ID:2xoJksuz
表示する時にはbが解放されてるんじゃないの?
2020/07/18(土) 02:35:10.07ID:IdAxqtyn
オーナードローの時、CBS_HASSTRINGSスタイル指定しないと、そんな感じになるっぽいね
CB_ADDSTRINGメッセージに書いてあるね
CB_ADDSTRINGメッセージに書いてあるね
45デフォルトの名無しさん
2020/07/18(土) 13:25:54.56ID:94poIsAY 1つの言語をある程度やりこまないと能力値がリセットされますか?
46デフォルトの名無しさん
2020/07/18(土) 13:38:50.50ID:uRU3MGLx 理解する能力と
使いこなす能力と
創造する能力は
全部別
使いこなす能力と
創造する能力は
全部別
47デフォルトの名無しさん
2020/07/18(土) 15:42:57.82ID:94poIsAY 理解力のことです
ごめんなさい
ごめんなさい
2020/07/18(土) 15:58:14.32ID:qVma+RcU
リセットはされない。
複数言語を学ぶときは並行にやって混乱するか順番にやって混乱するかのどちらか。
自分に向いた方を選べ。
複数言語を学ぶときは並行にやって混乱するか順番にやって混乱するかのどちらか。
自分に向いた方を選べ。
2020/07/18(土) 16:14:37.72ID:C0jdHcgs
ある程度やりこまなければある程度落ちるのは常識
ある程度やりこめばある程度上がるのも常識
ある程度やりこめばある程度上がるのも常識
2020/07/18(土) 17:22:27.13ID:Bt+NBO6d
>>45
リセットされたのではなく、自分が理解できていたと思い込んでいただけで実際の理解がその程度だったということに気づかされただけだと思うぞ。
リセットされたのではなく、自分が理解できていたと思い込んでいただけで実際の理解がその程度だったということに気づかされただけだと思うぞ。
51デフォルトの名無しさん
2020/07/18(土) 18:01:57.62ID:51enBbxV あるある
2020/07/18(土) 18:20:51.79ID:sJrDCvPM
fopenでccs=utf-8を指定して改行コードのCRLFをfputwsで書き込んだら
CRCRLFになったんですけど。バグですか?
CRCRLFになったんですけど。バグですか?
53デフォルトの名無しさん
2020/07/18(土) 18:38:01.13ID:yqiH8/gB appendで開いてたり
54蟻人間 ◆T6xkBnTXz7B0
2020/07/18(土) 18:39:23.19ID:5h3AvQ+O2020/07/18(土) 19:04:26.79ID:sJrDCvPM
何と!
2020/07/18(土) 19:10:12.51ID:tp8HW1uL
バイナリじゃなく、テキスト処理してる場合は、
各OS のAPI を使った時に、
Windows なら、CRLF になって、
Linux なら、LF になるのだろう
Ruby でもそう。
Windows にインストールしたものは、CRLF になって、
Linux にインストールしたものは、LF になる
各OS のAPI を使った時に、
Windows なら、CRLF になって、
Linux なら、LF になるのだろう
Ruby でもそう。
Windows にインストールしたものは、CRLF になって、
Linux にインストールしたものは、LF になる
2020/07/18(土) 19:19:47.61ID:zDePOjuW
LFがCRLFになるんじゃなくて\nがCRLFになっただけじゃないのか?
58蟻人間 ◆T6xkBnTXz7B0
2020/07/18(土) 19:26:44.67ID:NJ+LQ+vq \nがLFなんだよ。
2020/07/18(土) 19:38:21.74ID:zDePOjuW
\x0aを出力してみればはっきりする。
6056
2020/07/18(土) 19:57:14.80ID:tp8HW1uL Global New Line みたいな指定もある。
\n が、OS によって自動的に切り替わるもの
Windows なら、CRLF になって、
Linux なら、LF になる
\n が、OS によって自動的に切り替わるもの
Windows なら、CRLF になって、
Linux なら、LF になる
2020/07/19(日) 06:39:45.80ID:wsDBDsuq
\nはコンパイラが読み込んだ時点でLFに変換される
そうでないと、'\n'みたいな文字を読み込んだ時に
保存に2バイト必要になってしまう
そうでないと、'\n'みたいな文字を読み込んだ時に
保存に2バイト必要になってしまう
62デフォルトの名無しさん
2020/07/21(火) 11:50:35.81ID:IJfaFmgd C++のenumの仕様について質問させてください
enum Aとenum Bが定義されていた時、
void func(enum A);
void func(enum B);
のようにオーバーロードできるでしょうか。
enum Aとenum Bが定義されていた時、
void func(enum A);
void func(enum B);
のようにオーバーロードできるでしょうか。
63デフォルトの名無しさん
2020/07/21(火) 11:58:59.44ID:+OCbOnRh enum class
64蟻人間 ◆T6xkBnTXz7B0
2020/07/21(火) 17:34:57.28ID:w/y1zMfY >>62
https://twitter.com/katahiromz/status/1285493340574584832/photo/1
可能みたいだよ。
https://twitter.com/5chan_nel (5ch newer account)
https://twitter.com/katahiromz/status/1285493340574584832/photo/1
可能みたいだよ。
https://twitter.com/5chan_nel (5ch newer account)
65デフォルトの名無しさん
2020/07/21(火) 23:37:14.31ID:4GG7eaxB main が無いって言われたω
https://ideone.com/9as1fP
https://ideone.com/9as1fP
2020/07/22(水) 00:40:20.02ID:JDoVEEwE
正確にはなんて言われた?
67デフォルトの名無しさん
2020/07/22(水) 01:34:47.06ID:JL2g1NmT68デフォルトの名無しさん
2020/07/31(金) 02:13:31.68ID:zHNUGG0v 最近C++勉強し始めて疑問に思ったので教えて下さい
std::vector<int>vec;
auto result = std::find(vec.begin(), vec.end(),3);
上記のようにvectorを宣言だけで初期化せずにfind関数内でbegin()、end()を使用しても例外が発生しません
これは範囲外の要素にアクセスしているわけじゃないという理解でよろしいでしょうか
std::vector<int>vec;
auto result = std::find(vec.begin(), vec.end(),3);
上記のようにvectorを宣言だけで初期化せずにfind関数内でbegin()、end()を使用しても例外が発生しません
これは範囲外の要素にアクセスしているわけじゃないという理解でよろしいでしょうか
2020/07/31(金) 02:35:13.36ID:E2vmFTLm
そうだね
というか最初はbegin=endだから、findで一度もループ処理が発生しないだけ
というか最初はbegin=endだから、findで一度もループ処理が発生しないだけ
2020/07/31(金) 08:38:17.94ID:UG/y1RVK
2020/07/31(金) 10:00:44.09ID:zHNUGG0v
72デフォルトの名無しさん
2020/07/31(金) 11:04:11.23ID:N0eufbNj #include <vector>
#include <algorithm>
#include <iostream>
int main() {
std::vector<int>vec;
vec.reserve(10);
auto result = std::find(vec.begin(), vec.end(),3);
std::vector<int>vec2;
vec2.resize(10);
auto result2 = std::find(vec2.begin(), vec2.end(),3);
return 0;
}
#include <algorithm>
#include <iostream>
int main() {
std::vector<int>vec;
vec.reserve(10);
auto result = std::find(vec.begin(), vec.end(),3);
std::vector<int>vec2;
vec2.resize(10);
auto result2 = std::find(vec2.begin(), vec2.end(),3);
return 0;
}
2020/08/04(火) 14:37:50.75ID:Rtr7oft5
boostっていうやつはもう下火なんですか?
74はちみつ餃子 ◆8X2XSCHEME
2020/08/04(火) 20:36:32.51ID:tYSlSmQK んなわけない
2020/08/04(火) 22:16:06.06ID:GxIT23CH
極力使わずに済ませたい
2020/08/05(水) 08:45:38.77ID:FS19WAoY
下火っていうか
調理場にあるラップのようなもので特に意識されることはないけど欠かすことのできないもの
でもラップを使った料理っていうとどうしてもお手軽感がぬぐえない
プロの調理師はこういうものはできるだけ人目につかないようにする
調理場にあるラップのようなもので特に意識されることはないけど欠かすことのできないもの
でもラップを使った料理っていうとどうしてもお手軽感がぬぐえない
プロの調理師はこういうものはできるだけ人目につかないようにする
2020/08/05(水) 12:41:11.56ID:2ArdD7yz
ラップは隠さんだろ
化調でどうよ
化調でどうよ
2020/08/06(木) 09:55:51.94ID:oJAb3tlF
聞き方が悪かった
boostは習熟したほうがいいですか?
boostは習熟したほうがいいですか?
2020/08/06(木) 10:17:16.18ID:5aD4OAJs
あなたのやりたいことに役立つのなら。
80デフォルトの名無しさん
2020/08/06(木) 11:01:09.05ID:6QU45l4b boostじゃなくても同じことが出来るものがあったら後者を選ぶな
なんでだろ自分でもわからんω
なんでだろ自分でもわからんω
81デフォルトの名無しさん
2020/08/06(木) 11:13:25.84ID:YI93igBY いまならasioなどのために使うのでは。
そしてネットワーキングTSが標準に入ると、また使わなくなる。
そういうサイクルがあるのでは。
そしてネットワーキングTSが標準に入ると、また使わなくなる。
そういうサイクルがあるのでは。
2020/08/07(金) 21:54:30.74ID:3kAM9W6f
>>42
win32api使うならTCHAR使いましょうよ
win32api使うならTCHAR使いましょうよ
2020/08/08(土) 02:45:50.43ID:sjyRGzAl
MBCS対応する気ないならTCHAR使う意味ないよ
MBCS_Support_Deprecated_In_MFCだし
MBCS_Support_Deprecated_In_MFCだし
2020/08/08(土) 07:16:16.82ID:f+HIJ1ud
WCHAR決め打ちで行くんならDrawTextWにしないと
85デフォルトの名無しさん
2020/08/08(土) 10:09:00.08ID:noFfmCPy2020/08/08(土) 11:52:52.81ID:xwl14JrI
じゃあ何使うか言え
2020/08/08(土) 12:49:23.95ID:jGasFcRb
ナウはQuattroかな
2020/08/08(土) 13:08:28.52ID:Lqpd9lsB
2020/08/08(土) 13:25:08.03ID:xwl14JrI
>>88
ありがとう
ありがとう
90デフォルトの名無しさん
2020/08/08(土) 15:09:16.42ID:OT1M6D8391デフォルトの名無しさん
2020/08/08(土) 15:39:24.58ID:pp0rnVLU92デフォルトの名無しさん
2020/08/08(土) 16:39:57.58ID:/RuHG5bH C++11の前はboostめっちゃ使ってました
93デフォルトの名無しさん
2020/08/08(土) 16:52:58.78ID:OT1M6D83 Debianがgcc8なのでfilesystemをboostのほう使うとか。
互換性が動機という場合もありますね。
互換性が動機という場合もありますね。
2020/08/08(土) 19:24:55.75ID:Sbg9T/ud
C++ の仕様に関する質問です。
OpenGL では、
typedef unsigned char GLboolean;
#define GL_FALSE 0
#define GL_TRUE 1
void glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized,
GLsizei stride, const void *pointer);
となっていますが、
glVertexAttribPointer(locAttr, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(float), (void*)0);
と書いた場合、第四引数の GL_FALSE は 0 なので、int 型の整数リテラル(32BIT)ですが、対応する仮引数は、
GLboolean 型(8BIT)となっています。
overload resolution で、best matching アルゴリズムで最適な関数を探す際、対象の関数のプロトタイプ宣言の仮引数の型と
実引数の型を比較して、1つでも型が不適格のものが見つかった場合、「viable function」ではないとみなされ、候補から除外されます。
例として、unsigned char 型の仮引数に、int 型の変数を渡そうとすれば、不適格に成り、その関数は対象から除外されます。
しかし、この場合の様に、0 や 1 という整定値ならどうなるでしょうか。つまり、
unsigend char 型の仮引数に int 型の整数であるところの 0 という整数リテラルが、「適合」するというのは、
正しい仕様でしょうか?
OpenGL では、
typedef unsigned char GLboolean;
#define GL_FALSE 0
#define GL_TRUE 1
void glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized,
GLsizei stride, const void *pointer);
となっていますが、
glVertexAttribPointer(locAttr, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(float), (void*)0);
と書いた場合、第四引数の GL_FALSE は 0 なので、int 型の整数リテラル(32BIT)ですが、対応する仮引数は、
GLboolean 型(8BIT)となっています。
overload resolution で、best matching アルゴリズムで最適な関数を探す際、対象の関数のプロトタイプ宣言の仮引数の型と
実引数の型を比較して、1つでも型が不適格のものが見つかった場合、「viable function」ではないとみなされ、候補から除外されます。
例として、unsigned char 型の仮引数に、int 型の変数を渡そうとすれば、不適格に成り、その関数は対象から除外されます。
しかし、この場合の様に、0 や 1 という整定値ならどうなるでしょうか。つまり、
unsigend char 型の仮引数に int 型の整数であるところの 0 という整数リテラルが、「適合」するというのは、
正しい仕様でしょうか?
2020/08/08(土) 20:40:58.31ID:jGasFcRb
その関数はCの関数なので、そもそもマンぐり返されてないし、より適合するオーバーロード関数の存在なんて考慮してないんじゃね?
2020/08/08(土) 21:31:49.81ID:Sl6pvmJG
2020/08/09(日) 00:18:25.48ID:5wTPapRC
>>96
確認しました。charの仮引数の場所に、int 変数を実引数にして渡しても、
エラーも警告も出ませんでした。
関数呼び出しだけでなく、
int i = 0x123456;
char c = i;
としてもエラーも警告も出ませんでした。
テストは、VS2019のC++で行いました。
確認しました。charの仮引数の場所に、int 変数を実引数にして渡しても、
エラーも警告も出ませんでした。
関数呼び出しだけでなく、
int i = 0x123456;
char c = i;
としてもエラーも警告も出ませんでした。
テストは、VS2019のC++で行いました。
98はちみつ餃子 ◆8X2XSCHEME
2020/08/09(日) 00:32:08.26ID:ayHdPpdd 整数型同士はどの組み合わせでも暗黙の型変換はされるんじゃね。
変換後の型が符号付きかつ、変換後の型が表現できる範囲に収まらない値だったときの挙動が未定義ではあるので、
狭い方向への変換のときに警告くらいは出してくれることもあるみたいだが、
オーバーロードの解決の際に排除されることはない。
変換後の型が符号付きかつ、変換後の型が表現できる範囲に収まらない値だったときの挙動が未定義ではあるので、
狭い方向への変換のときに警告くらいは出してくれることもあるみたいだが、
オーバーロードの解決の際に排除されることはない。
2020/08/09(日) 12:09:42.16ID:5wTPapRC
>>98
ついでに、お聞きしたいのですが、
class CBase {・・・};
class CDerived : public CBase {・・・};
の場合、
CDerive* ---> CBase*
への変換は標準変換は有りますが、
CBase* ---> CDerive*
への変換は標準変換は有りませんよね。
しかし、
CBase *pBase;
に対して、
(CDerived*)pBase
というcastは、down castであり、気をつけなければならないキャストではありますが、組み込みのcastとして、
どのコンパイラでもサポートしています。
(この場合、型の解釈の変更だけでなく、マシン語レベルでの生の値も、offset分だけ変更になることがあるのは
周知の通りです。)
ということは、標準変換ではないにも関わらず、キャストではなぜかサポートしていると言うことになるのでしょうか?
ついでに、お聞きしたいのですが、
class CBase {・・・};
class CDerived : public CBase {・・・};
の場合、
CDerive* ---> CBase*
への変換は標準変換は有りますが、
CBase* ---> CDerive*
への変換は標準変換は有りませんよね。
しかし、
CBase *pBase;
に対して、
(CDerived*)pBase
というcastは、down castであり、気をつけなければならないキャストではありますが、組み込みのcastとして、
どのコンパイラでもサポートしています。
(この場合、型の解釈の変更だけでなく、マシン語レベルでの生の値も、offset分だけ変更になることがあるのは
周知の通りです。)
ということは、標準変換ではないにも関わらず、キャストではなぜかサポートしていると言うことになるのでしょうか?
100デフォルトの名無しさん
2020/08/09(日) 12:11:08.88ID:q7SdW+2C >>97
viable function とか言うから規格上の確認がしたいのかと思ってたけど、そこは実験でいいのか。
viable function とか言うから規格上の確認がしたいのかと思ってたけど、そこは実験でいいのか。
101デフォルトの名無しさん
2020/08/09(日) 12:17:12.21ID:q7SdW+2C >>99
まずキャストが「標準変換」しか「サポート」しないというその前提はどこから出てきたのか示すのが先でしょ。
https://timsong-cpp.github.io/cppwp/n4861/expr.cast
まずキャストが「標準変換」しか「サポート」しないというその前提はどこから出てきたのか示すのが先でしょ。
https://timsong-cpp.github.io/cppwp/n4861/expr.cast
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 中国がここまで過敏になるのは日本に前科があるから。盧溝橋、満州事変。ジャップの先制攻撃は挙げればキリがないけど [472617201]
- ぶっちゃけ天のうって昭和天のうのせいで全然ありがたみないよな
- MOIWなアイドルマスターミリオンライブシアターデイズアイマスミリマスグリマスミリシタスレ
- 犬って顔くっつけて寝たがるよな
- 『猟友会がクマ駆除を嫌がるなら潰すべき。職務を放棄するハンターから免許や銃を没収して罰金を取ろう』の声、ネットで上がる [932029429]
- 【悲報】JA「全然米が売れなくて倉庫を圧迫してる。助けて!」米卸売り業者「安売りしたら赤字になる…助けて!」 [802034645]
