次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137 (正しくはpart138)
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1530384293/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C++相談室 part139
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ f65b-zn+7)
2018/10/06(土) 00:59:48.54ID:CdYUXXMG0102デフォルトの名無しさん (ワッチョイ 26bd-PkCJ)
2018/10/07(日) 14:41:28.41ID:874mFeqU0 コンストラクタはC++の構文上はvirtualにでっきない
抽象クラスx (Product)のx*を返すcreate()メソッドを何かのクラス(Creator)に設けたら機能としてはできる
Creatorが内部で実際の生成をサブクラスに委譲する場合は正にファクトリーメソッドパターン(のProductが抽象クラスのケース)になる
さらにその「何かのクラス」(Creator)まで抽象クラスにしたブツがアブストラクトファクトリーパターンというやつで、もはや
ProductとCreatorが同じ抽象クラスであってもかまわない。
ここまでやって初めてclone()が抽象化できるすわなち「インスタンスの」クローニングを抽象化のうちにやれる
抽象コンストラクタとはフツーアブストラクトファクトリーパターンかつProductとCreatorが共通の抽象クラスのケースを指す(のだと思う
※ 個人の感想です
抽象クラスx (Product)のx*を返すcreate()メソッドを何かのクラス(Creator)に設けたら機能としてはできる
Creatorが内部で実際の生成をサブクラスに委譲する場合は正にファクトリーメソッドパターン(のProductが抽象クラスのケース)になる
さらにその「何かのクラス」(Creator)まで抽象クラスにしたブツがアブストラクトファクトリーパターンというやつで、もはや
ProductとCreatorが同じ抽象クラスであってもかまわない。
ここまでやって初めてclone()が抽象化できるすわなち「インスタンスの」クローニングを抽象化のうちにやれる
抽象コンストラクタとはフツーアブストラクトファクトリーパターンかつProductとCreatorが共通の抽象クラスのケースを指す(のだと思う
※ 個人の感想です
103デフォルトの名無しさん (ワッチョイ 96f6-Qng4)
2018/10/07(日) 14:46:34.66ID:9AlsaWAK0 コンストラクタの中でそのクラスのvirtual関数を呼んでも
基底クラスのが呼ばれるよな。
基本的にコンストラクタの中ではあんまりいろいろしないほうがいい。
基底クラスのが呼ばれるよな。
基本的にコンストラクタの中ではあんまりいろいろしないほうがいい。
104デフォルトの名無しさん (ワッチョイ 26bd-PkCJ)
2018/10/07(日) 14:50:52.53ID:874mFeqU0 >基底クラスのが呼ばれるよな。
うそぴょん
自身のが(非仮想関数同然に)呼ばれる
理由はこんなかんじ↓
ttp://isoparametric.hatenablog.com/entry/20080707/1215396846
うそぴょん
自身のが(非仮想関数同然に)呼ばれる
理由はこんなかんじ↓
ttp://isoparametric.hatenablog.com/entry/20080707/1215396846
105デフォルトの名無しさん (ワッチョイ 9bc3-dNAh)
2018/10/07(日) 15:14:33.44ID:ldfyXuEU0 元の質問主はデストラクタと間違えたのかな?
コンストラクタにvirtual付けたらコンパイルエラーだからすぐわかるだろうし
コンストラクタにvirtual付けたらコンパイルエラーだからすぐわかるだろうし
106デフォルトの名無しさん (ササクッテロ Spea-RseO)
2018/10/07(日) 15:45:00.91ID:L7dKBNcwp107デフォルトの名無しさん (ワッチョイ a6b3-XM+q)
2018/10/07(日) 15:47:27.26ID:iX7g/tHs0 手を動かさずに脳内ですべてを完結させられたら、それはもう初心者じゃないだろ。
スーパープログラマの誕生だ。
スーパープログラマの誕生だ。
108デフォルトの名無しさん (ワッチョイ 96f6-Qng4)
2018/10/07(日) 16:09:28.90ID:9AlsaWAK0 >104
え?派生クラスのほうが呼ばれる??
え?派生クラスのほうが呼ばれる??
109デフォルトの名無しさん (ワッチョイ 9bc3-dNAh)
2018/10/07(日) 16:17:18.47ID:ldfyXuEU0 「基底クラスのが呼ばれる」だと最基底のクラスの奴が呼ばれるみたいに見えるから突っ込まれたんでしょ
何を継承してようと何が派生してようと、あくまで自分自身のが呼ばれる
何を継承してようと何が派生してようと、あくまで自分自身のが呼ばれる
110デフォルトの名無しさん (ワッチョイ 96f6-Qng4)
2018/10/07(日) 16:21:48.20ID:9AlsaWAK0111デフォルトの名無しさん (スププ Sd94-OWoe)
2018/10/07(日) 16:59:03.29ID:8iCyHK6sd HLSLのfloat4みたいに、xyzwでもrgbaでも扱える、
所謂エイリアスを実現するスマートな方法は参照でしょうか?
class float4
{
…
float x;
float& r=x;
};
所謂エイリアスを実現するスマートな方法は参照でしょうか?
class float4
{
…
float x;
float& r=x;
};
112デフォルトの名無しさん (ワッチョイ 9bc3-dNAh)
2018/10/07(日) 17:46:55.03ID:ldfyXuEU0 getXYZW()とgetRGBA()を作る
113デフォルトの名無しさん (ワッチョイ 15c7-vBoO)
2018/10/07(日) 18:09:26.41ID:AFK+s8Ok0 >>17
CStringを使うのに「あのエディタ」以外を使うアホを救う必要あるか?
CStringを使うのに「あのエディタ」以外を使うアホを救う必要あるか?
114デフォルトの名無しさん (ワッチョイ 15c7-vBoO)
2018/10/07(日) 18:20:34.91ID:AFK+s8Ok0 typedef char* A;
typedef A B;
typedef B C;
typedef C D;
typedef E F;
typedef F G;
G lpszOmanko;
型が知りたいときに宣言を見ないアホを救おうと一生懸命なアホの書くコード
typedef A B;
typedef B C;
typedef C D;
typedef E F;
typedef F G;
G lpszOmanko;
型が知りたいときに宣言を見ないアホを救おうと一生懸命なアホの書くコード
115デフォルトの名無しさん (ワッチョイ 70b3-vBoO)
2018/10/07(日) 18:24:01.97ID:2FImrXZj0 >>111
無名共用体じゃあかんの?
無名共用体じゃあかんの?
116111 (ワッチョイ 6223-AEfH)
2018/10/07(日) 23:30:13.67ID:EwS6ucBG0117111 (ワッチョイ 6223-AEfH)
2018/10/08(月) 01:39:38.90ID:LP2GoVYR0 無名共用体でもっともスマートに実装できました。
class float4
{
…
union{ float x; float r; };
union{ float y; float g; };
・・・
};
ありがとうございました。
class float4
{
…
union{ float x; float r; };
union{ float y; float g; };
・・・
};
ありがとうございました。
118デフォルトの名無しさん (ワッチョイ a6b3-XM+q)
2018/10/08(月) 03:22:10.62ID:mztv/TPA0 どういたしまして。
119デフォルトの名無しさん (ワッチョイ 327c-yUUL)
2018/10/08(月) 05:30:07.70ID:64IsVtKl0 float f4; float3 f3 = f4.ayx; が難しいみたいな話かと思った
121デフォルトの名無しさん (ワッチョイ df81-vBoO)
2018/10/09(火) 12:09:32.42ID:R91wWJMl0 class parent {
public:
void disp() {
cout << "parent\n";
}
void disp(char* str) {
cout << str << "\n";
}
};
class child : public parent {
public:
void disp() {
cout << "child\n";
}
};
disp(char* str)を呼び出すにはどうすればいいですか?
public:
void disp() {
cout << "parent\n";
}
void disp(char* str) {
cout << str << "\n";
}
};
class child : public parent {
public:
void disp() {
cout << "child\n";
}
};
disp(char* str)を呼び出すにはどうすればいいですか?
12280 (ワッチョイ d081-TgND)
2018/10/09(火) 12:49:30.07ID:+8izRWpu0 Boland C++ Builder 5を使用していたのですが仮想コンストラクタ
でコンパイルできませんでした。失礼しました。
VCLライブラリのTGraphicなどのヘッダーが仮想コンストラクタで記述
されていたのでてっきり仕様で認められている物だと・・。
このライブラリ(というかBuilder)だけ特殊ということで理解しました。
皆さんありがとうございました。
でコンパイルできませんでした。失礼しました。
VCLライブラリのTGraphicなどのヘッダーが仮想コンストラクタで記述
されていたのでてっきり仕様で認められている物だと・・。
このライブラリ(というかBuilder)だけ特殊ということで理解しました。
皆さんありがとうございました。
123デフォルトの名無しさん (ワッチョイ 4634-C4cH)
2018/10/09(火) 13:18:44.86ID:URt3e1HT0 try __finally も使えて糞便利なんだよなアレ
124さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ ceb3-hQIv)
2018/10/09(火) 13:27:53.34ID:p4x9lnrf0 >>121
引数にconstつければ、"文字列リテラル"も渡せる。
引数にconstつければ、"文字列リテラル"も渡せる。
125デフォルトの名無しさん (アウアウウー Sa83-mwrz)
2018/10/09(火) 13:33:57.94ID:3NZxPpTya 引数なしのdispをオーバーライドしたから引数ありの方が隠蔽されたとかかな。明示的にusingしてみては?
126デフォルトの名無しさん (アウアウウー Sa30-z023)
2018/10/09(火) 18:41:14.63ID:Cr2TK041a void disp(const char* str){
cout<<str<<\n;
}
virtual void disp(){
disp(“parent”);
}
void disp(){
disp(“child”);
}
124の言う通りconstつけろという話じゃないかな
cout<<str<<\n;
}
virtual void disp(){
disp(“parent”);
}
void disp(){
disp(“child”);
}
124の言う通りconstつけろという話じゃないかな
127デフォルトの名無しさん (ワッチョイ 1508-vBoO)
2018/10/09(火) 18:55:23.66ID:sicZSpN90 class parent {
public:
void disp() {
cout << "parent\n";
}
void disp(char const* str) { //added: const
cout << str << "\n";
}
};
class child : public parent {
public:
using parent::disp; //created
void disp() {
disp("child"); //changed: cout -> disp
}
};
public:
void disp() {
cout << "parent\n";
}
void disp(char const* str) { //added: const
cout << str << "\n";
}
};
class child : public parent {
public:
using parent::disp; //created
void disp() {
disp("child"); //changed: cout -> disp
}
};
128デフォルトの名無しさん (ラクッペ MM70-SUQ8)
2018/10/10(水) 03:27:24.85ID:gfJl3N9PM clangの開発に携わりたいと思ったのですが、C++で書かれていて、テンプレートの理解も必要だし、簡単ではないですよね?
129デフォルトの名無しさん (ワッチョイ 1508-vBoO)
2018/10/10(水) 09:18:24.61ID:Mncb4eyW0 clangの開発って、LLVMのチームに入りたいってこと?
だとするとC++のスキルは世界的な有名人になれるくらい凄腕でないと厳しいだろうな
だとするとC++のスキルは世界的な有名人になれるくらい凄腕でないと厳しいだろうな
130デフォルトの名無しさん (ワッチョイ e2d2-pJhu)
2018/10/10(水) 09:46:07.79ID:HW3BEf/50 ん?プルリク送るだけじゃないの
131デフォルトの名無しさん (ワッチョイ 441a-/FYQ)
2018/10/10(水) 10:14:02.27ID:T78UR1cm0 日本のC++トップ集団ってどれなの?
132デフォルトの名無しさん (ワッチョイ 1508-vBoO)
2018/10/10(水) 10:29:11.53ID:Mncb4eyW0 手続きの話と、務まるかって話は別だろ
133デフォルトの名無しさん (スププ Sd94-OWoe)
2018/10/10(水) 11:30:32.89ID:2TMLSXoid C++の世界レベルのスキル。
かっこいいなぁ。
かっこいいなぁ。
134デフォルトの名無しさん (ワッチョイ 1508-vBoO)
2018/10/10(水) 16:14:19.56ID:Mncb4eyW0 gnuの連中と真っ向やり合って勝とうって話だぜ
少なくとも、おまえらではゴミにすらカウントされんだろ
少なくとも、おまえらではゴミにすらカウントされんだろ
135デフォルトの名無しさん (ワッチョイ e66f-vBoO)
2018/10/10(水) 17:08:56.41ID:MsVaxrK/0 バグの指摘だとか、
ドキュメントの typo を直すくらいの役にはたてるかもね。
ただ、自分のミス (未定義を踏んだとか) ではなく
コンパイラのバグであると確信をもって主張するには、
規格をかなり把握しておく必要は有るので、
それだけでもなかなか大変だ。
ドキュメントの typo を直すくらいの役にはたてるかもね。
ただ、自分のミス (未定義を踏んだとか) ではなく
コンパイラのバグであると確信をもって主張するには、
規格をかなり把握しておく必要は有るので、
それだけでもなかなか大変だ。
136デフォルトの名無しさん (スプッッ Sdda-YLcB)
2018/10/10(水) 17:33:55.95ID:+jUb1Zszd ハンガリアン使ってる奴には無理だろうな
137デフォルトの名無しさん (ワッチョイ a6b3-XM+q)
2018/10/10(水) 18:50:52.92ID:ApxL+L/D0 真のJava scriptがあればいいと思うのだが。
138デフォルトの名無しさん (ワッチョイ 7a23-+rwh)
2018/10/10(水) 19:56:55.02ID:TfVezTBt0 至る所に try catch を書かなきゃいけないスクリプト言語か
139デフォルトの名無しさん (ワッチョイ 9bc3-dNAh)
2018/10/10(水) 20:03:19.96ID:kd4mysCH0 最近Java触ってないんだけど
あの検査例外指定を必ず書かされる糞仕様はまだ残ってるの?
あの検査例外指定を必ず書かされる糞仕様はまだ残ってるの?
140デフォルトの名無しさん (ワッチョイ 529f-QTQU)
2018/10/10(水) 20:57:53.79ID:1d6HAJSZ0141デフォルトの名無しさん (ワッチョイ 70b3-vBoO)
2018/10/10(水) 21:24:35.61ID:r0MKwZEq0142デフォルトの名無しさん (ワッチョイ e66f-vBoO)
2018/10/10(水) 22:41:09.57ID:MsVaxrK/0 より詳しい人が精査するという前提でとにかく目を増やす、
おおざっぱでもバグを発見する目になるというのも悪いわけじゃないしな。
開発メンバーが少ないならそういう雑多な情報は嫌がられることもあるかもしれんが、
CLANG 級のソフトならそれなりにきちんとした開発体制は出来てるだろう。
おおざっぱでもバグを発見する目になるというのも悪いわけじゃないしな。
開発メンバーが少ないならそういう雑多な情報は嫌がられることもあるかもしれんが、
CLANG 級のソフトならそれなりにきちんとした開発体制は出来てるだろう。
143デフォルトの名無しさん (ワッチョイ c7c7-4Hut)
2018/10/11(木) 08:11:33.98ID:2jR4X2Zc0 バグ探しとかそういうレベルじゃなく
今なら並列に重きを置く最適化とかが勝負だろうが
今なら並列に重きを置く最適化とかが勝負だろうが
144デフォルトの名無しさん (ワッチョイ e74e-/wJ2)
2018/10/11(木) 09:29:29.42ID:WBThZCRQ0 >>128は開発に携わりたいと言ってるのに、一人が無理と言い出し、多数バグ探ししか無理と言い
誰もアドバイス出来てないところが面白い
誰もアドバイス出来てないところが面白い
145デフォルトの名無しさん
2018/10/11(木) 09:49:26.64ID:RY8aHP4O0 結局のところ、マウント取りたいだけなのよね
146デフォルトの名無しさん (スププ Sdff-xHoY)
2018/10/11(木) 11:10:54.68ID:dKSczptfd 会社にもそういうやつの多いこと多いこと…
147デフォルトの名無しさん (ワッチョイ c7c7-4Hut)
2018/10/11(木) 11:39:55.98ID:2jR4X2Zc0 ム板で返す言葉に事欠いて人格批判か
会社にも、論文に人情論を書くようなアホはさすがに少ないな
会社にも、論文に人情論を書くようなアホはさすがに少ないな
148デフォルトの名無しさん (ワッチョイ bf6f-4Hut)
2018/10/11(木) 13:36:17.85ID:PBtwUpWj0 >>144
本人が簡単ではないと思ってるから、 (割とハードルが低く) 出来ることもあるとアドバイスされている。
本人が簡単ではないと思ってるから、 (割とハードルが低く) 出来ることもあるとアドバイスされている。
149デフォルトの名無しさん (ワッチョイ e74e-/wJ2)
2018/10/11(木) 15:41:08.81ID:WBThZCRQ0 >>148
まあ新型のゲーム機のバグを見つけてネットで大騒ぎするというアドバイスは、本人は望んでなさそうだけどな
まあ新型のゲーム機のバグを見つけてネットで大騒ぎするというアドバイスは、本人は望んでなさそうだけどな
150デフォルトの名無しさん (ワッチョイ 27b3-4Hut)
2018/10/11(木) 16:14:12.43ID:AkyZHzlY0151デフォルトの名無しさん (ワッチョイ c7c7-4Hut)
2018/10/11(木) 17:25:23.27ID:2jR4X2Zc0 話の腰を折るようで悪いが
128が言っているのがclang自体の開発かどうか
まだ仮定なんだが
128が言っているのがclang自体の開発かどうか
まだ仮定なんだが
152デフォルトの名無しさん (オッペケ Sr9b-aaey)
2018/10/12(金) 01:44:46.58ID:/I0EFebir スマートポインタの中身ぶち壊して他のアドレス与えて使いますことってできる?
153デフォルトの名無しさん (ワッチョイ 4723-WryL)
2018/10/12(金) 04:03:45.88ID:EXEDaiYK0 C++言語でok
てかそれ単に代入すりゃいいんじゃないの
reset でもいいけど
unique_ptr
https://stackoverflow.com/questions/37806616/reassign-unique-ptr-object-with-make-unique-statements-memory-leak
shared_ptr
https://stackoverflow.com/questions/31438714/stdshared-ptr-reset-vs-assignment
てかそれ単に代入すりゃいいんじゃないの
reset でもいいけど
unique_ptr
https://stackoverflow.com/questions/37806616/reassign-unique-ptr-object-with-make-unique-statements-memory-leak
shared_ptr
https://stackoverflow.com/questions/31438714/stdshared-ptr-reset-vs-assignment
154デフォルトの名無しさん (オッペケ Sr9b-aaey)
2018/10/12(金) 04:25:48.47ID:/I0EFebir >>153
代入したら、元の生ポインタはいつ消えるの?
代入したら、元の生ポインタはいつ消えるの?
155デフォルトの名無しさん (ワッチョイ dfb3-EA7j)
2018/10/12(金) 05:16:36.75ID:Q8TQ4FMY0156デフォルトの名無しさん (ブーイモ MMcf-NsMu)
2018/10/12(金) 05:17:14.20ID:1iFt3dhJM scopeから出たら消える
157デフォルトの名無しさん (スプッッ Sd7f-WryL)
2018/10/12(金) 05:40:31.89ID:ZYTXH3K/d >>154
「消える」って言葉で何を意味してるのかがわからない
ポインタは消したりできるものではない
ポインタが指している先のインスタンスがデストラクトされるってことなら、
代入なりresetなりした時に前のをdeleteする必要があればdeleteされる
foo * p = new foo;
unique_ptr<foo> q(p);
みたいなときに q に何かして p に nullptr が入って欲しいならそれは無理
「消える」って言葉で何を意味してるのかがわからない
ポインタは消したりできるものではない
ポインタが指している先のインスタンスがデストラクトされるってことなら、
代入なりresetなりした時に前のをdeleteする必要があればdeleteされる
foo * p = new foo;
unique_ptr<foo> q(p);
みたいなときに q に何かして p に nullptr が入って欲しいならそれは無理
158デフォルトの名無しさん (ワッチョイ df7c-LO+h)
2018/10/12(金) 06:06:36.57ID:U+Po+Cgl0159デフォルトの名無しさん (ワッチョイ df04-tiyD)
2018/10/12(金) 16:26:55.42ID:KckWK6Wl0 最近、gccを8.2にアップグレードしたのですが、
行列ライブラリGLMの最新版を使おうとすると、
std::log2他幾つかの数学関数(cmath)が未宣言とか言われてエラーがでます。
#代わりに::log2を使えとも
ネットを調べてみると、
「log2等はC99以降の追加なのでstd名前空間には入らない」
等のコメントが見つかったのですが、
ここら辺の真偽について教えてください。
仕様的な真偽以外にも、
1. 他のOSのg++8.2以上でも(自宅はFreeBSD10.0)でも同じなのか?
2. コンパイラオプション等で制御する方法はあるのか?
についても情報を求めています。
行列ライブラリGLMの最新版を使おうとすると、
std::log2他幾つかの数学関数(cmath)が未宣言とか言われてエラーがでます。
#代わりに::log2を使えとも
ネットを調べてみると、
「log2等はC99以降の追加なのでstd名前空間には入らない」
等のコメントが見つかったのですが、
ここら辺の真偽について教えてください。
仕様的な真偽以外にも、
1. 他のOSのg++8.2以上でも(自宅はFreeBSD10.0)でも同じなのか?
2. コンパイラオプション等で制御する方法はあるのか?
についても情報を求めています。
160159 (ワッチョイ df04-tiyD)
2018/10/12(金) 16:33:39.71ID:KckWK6Wl0 追記:
-std=c++11でも-std=c++17でもダメでした。何故?
-std=c++11でも-std=c++17でもダメでした。何故?
161デフォルトの名無しさん (オッペケ Sr9b-aaey)
2018/10/12(金) 20:11:37.97ID:ic9zmoqmr162デフォルトの名無しさん (ワッチョイ 47c3-k+IC)
2018/10/12(金) 20:50:53.44ID:aBKT1Xur0 namespace std{
#include <math.h>
}
#include <math.h>
}
163はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-4Hut)
2018/10/12(金) 21:26:30.53ID:v3EBhOgT0 >>159
言語仕様的には C++11 で std::log2 は追加された。
なので、 C++11 以降なら cmath を include していれば std::log2 を使うことは出来る。
C++ は C が提供する関数は基本的に使えることになっていて、それらは std 名前空間に属するが、
C++03 の時点で想定していた C は C90 のこと。 なので、 C++03 には log2 は無かった。
ただ、環境に C99 用の math.h があればそれを include すれば (C++03 の仕様には無いが) std 名前空間に属しない関数として使えていた。
言語仕様的には C++11 で std::log2 は追加された。
なので、 C++11 以降なら cmath を include していれば std::log2 を使うことは出来る。
C++ は C が提供する関数は基本的に使えることになっていて、それらは std 名前空間に属するが、
C++03 の時点で想定していた C は C90 のこと。 なので、 C++03 には log2 は無かった。
ただ、環境に C99 用の math.h があればそれを include すれば (C++03 の仕様には無いが) std 名前空間に属しない関数として使えていた。
164デフォルトの名無しさん (ワッチョイ dfbd-f3lA)
2018/10/12(金) 23:30:34.87ID:1VvBVVcs0 >SCHEME
こりゃお見それしました
こりゃお見それしました
165デフォルトの名無しさん (ワッチョイ df04-tiyD)
2018/10/13(土) 14:24:29.26ID:EibBUXfA0166はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-4Hut)
2018/10/13(土) 18:50:17.42ID:F7qz0ZHX0 >>165
どっち?
- GLM を使おうとするプログラムで std::log2 が未宣言というエラーになる
- cmath を include したどんなプログラムでも std::log2 を使えない
どっち?
- GLM を使おうとするプログラムで std::log2 が未宣言というエラーになる
- cmath を include したどんなプログラムでも std::log2 を使えない
167デフォルトの名無しさん (ワッチョイ df31-WiH/)
2018/10/14(日) 00:07:05.78ID:IgMlyec50 >>165
gcc -std=c++11 -pedantic かも
gcc -std=c++11 -pedantic かも
168はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-4Hut)
2018/10/14(日) 00:28:07.68ID:rMQ7HlNZ0 -pedantic は拡張機能を無効にするオプションなので、
紛うことなき C++11 の機能である std::log2 に影響しそうにないと思うけど……。
紛うことなき C++11 の機能である std::log2 に影響しそうにないと思うけど……。
169デフォルトの名無しさん (ワッチョイ 67b3-JlWZ)
2018/10/14(日) 01:19:47.45ID:k35qB8Cf0 gccがバグってる派と規格がバグってる派の争いが勃発するのでは。
170デフォルトの名無しさん (ワッチョイ a77e-4Hut)
2018/10/14(日) 06:17:49.56ID:1QMkRc1k0 今のgccは-std=c++14がデフォだろ
7.0以後だっけ
7.0以後だっけ
171デフォルトの名無しさん
2018/10/14(日) 09:57:28.32ID:JAcCHmYY0 江添亮はなんて言ってる?
172デフォルトの名無しさん (ワッチョイ 47c3-k+IC)
2018/10/14(日) 10:06:18.57ID:wo9o1/Qh0 奴はお前のお母さんじゃないぞ
173デフォルトの名無しさん (ワッチョイ df23-MW2R)
2018/10/14(日) 10:10:08.01ID:muYkF5p70 江添さんって規格を変えられるほどの発言権あるの?
174デフォルトの名無しさん (ワッチョイ 47c3-k+IC)
2018/10/14(日) 10:14:36.46ID:wo9o1/Qh0 一応ISOへ意見を言う機関(日本NB)で意見する権利くらいは持ってるんじゃないの
175デフォルトの名無しさん (ワッチョイ a77e-4Hut)
2018/10/14(日) 10:16:58.23ID:1QMkRc1k0 range-based forでADLが効くことにすべきか否か
不特定多数に意見を請うてたな
奴は反対に傾いていたようで
俺とは見解を異にしていた
不特定多数に意見を請うてたな
奴は反対に傾いていたようで
俺とは見解を異にしていた
176173 (ワッチョイ df23-MW2R)
2018/10/14(日) 10:50:05.94ID:muYkF5p70 そうなのか。
江添さんもすごいけど、このスレの人もすごいね。
江添さんもすごいけど、このスレの人もすごいね。
177デフォルトの名無しさん (ワッチョイ 277f-4Hut)
2018/10/14(日) 11:47:14.18ID:xrZwnrIj0 俺も江添とは見解が異なるわ
どちらかというとビョーンの見解に近い
どちらかというとビョーンの見解に近い
178はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-4Hut)
2018/10/14(日) 12:37:47.83ID:rMQ7HlNZ0179デフォルトの名無しさん (ワッチョイ 27b3-Sm+T)
2018/10/14(日) 13:43:56.98ID:S1kOckUF0 特殊化ってなんだ
ここで聞くよりググれよ、すぐ見つかるぞ
ここで聞くよりググれよ、すぐ見つかるぞ
180デフォルトの名無しさん (ワッチョイ 5f7e-4Hut)
2018/10/14(日) 14:46:41.69ID:iHlUkB5I0 実際に発言権持ってるのってビャーネとGCCとかLLVMとかclingとかの中の人とその他お金出してる企業くらいだろ
181はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-4Hut)
2018/10/14(日) 15:17:03.44ID:rMQ7HlNZ0 江添氏はメンバ関数のみを対象にする案を推してたのね。
https://cpplover.blogspot.com/2011/02/range-based-for.html
https://cpplover.blogspot.com/2011/02/range-based-for.html
182165 (ワッチョイ df04-tiyD)
2018/10/14(日) 16:32:31.63ID:izrX1EIe0183はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-4Hut)
2018/10/14(日) 18:03:31.93ID:rMQ7HlNZ0184はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-4Hut)
2018/10/14(日) 19:57:55.19ID:rMQ7HlNZ0185デフォルトの名無しさん (ブーイモ MMcf-NsMu)
2018/10/14(日) 21:17:29.63ID:WLfX4fFSM cmathはM_PIが未定義とか言われてハマったことはあるな
186デフォルトの名無しさん (ブーイモ MMcf-NsMu)
2018/10/14(日) 21:20:39.47ID:WLfX4fFSM これだな
#define _USE_MATH_DEFINES
#define _USE_MATH_DEFINES
187デフォルトの名無しさん (ワッチョイ bf9f-TTlK)
2018/10/14(日) 21:51:25.46ID:cnUSrnZ50 めんどくセーからdockerでも使ってメジャーな環境でやればいい。
188デフォルトの名無しさん (ワッチョイ a77e-4Hut)
2018/10/14(日) 22:16:35.02ID:1QMkRc1k0 数学定数は標準に欲しいが言い出すとキリないからなあ
189デフォルトの名無しさん (ワッチョイ 47c3-k+IC)
2018/10/14(日) 22:43:26.50ID:wo9o1/Qh0 でもπとeくらいは用意しとけよ標準
190デフォルトの名無しさん (ワッチョイ 5f7e-4Hut)
2018/10/14(日) 22:54:22.32ID:iHlUkB5I0 MSVCのかつてのマクロでひどい目に会ってるから定数を用意していなくて正解
191デフォルトの名無しさん (アウアウウー Saeb-5o2A)
2018/10/14(日) 23:18:09.29ID:r1bPQqR/a min,maxの事だな。
マクロじゃなければいいんだろうということでstd名前空間にconstexpr変数ならどうだろう?
マクロじゃなければいいんだろうということでstd名前空間にconstexpr変数ならどうだろう?
192デフォルトの名無しさん (ワッチョイ df12-gma9)
2018/10/15(月) 10:38:16.29ID:FjE86ied0 smallも定義されてた
193デフォルトの名無しさん (ワッチョイ 2723-NsMu)
2018/10/15(月) 10:42:34.46ID:/DZZgAIK0 extern(C){
}
みたいに
#defineとかならまとめて
namespace HOGE {
}
に入れてしまえれば良かった
}
みたいに
#defineとかならまとめて
namespace HOGE {
}
に入れてしまえれば良かった
194159 (ワッチョイ df04-tiyD)
2018/10/15(月) 12:12:04.88ID:EhepTNcp0 環境依存問題でしたが一応解決しましたので、軽く報告。
<cmath>内で
#ifdef _GLIBCXX_USE_C99_MATH_TR1
以下で囲まれた部分がばっさり切られていたので
/環境依存パス/bits/c++config.hを調べてみると、
#undefされていたのが直接の原因。
#defien ... 1
に書き換えてみたところ、
今度は<cmath>内の
using ::tgammal;他4行がエラーになりましたが、
どうもFreeBSDの<math.h>にはその4関数がない模様。
#tgammafとか引数違いの類似物はある
結局その4行をコメントアウトすることでコンパイルを通すことに成功しました。
GLM最新版も使えたのでOKです。
まあ思うところはありますが、
gcc派 vs 規格派 vs マイナーOS派の話になりそうなので解決とします。
<cmath>内で
#ifdef _GLIBCXX_USE_C99_MATH_TR1
以下で囲まれた部分がばっさり切られていたので
/環境依存パス/bits/c++config.hを調べてみると、
#undefされていたのが直接の原因。
#defien ... 1
に書き換えてみたところ、
今度は<cmath>内の
using ::tgammal;他4行がエラーになりましたが、
どうもFreeBSDの<math.h>にはその4関数がない模様。
#tgammafとか引数違いの類似物はある
結局その4行をコメントアウトすることでコンパイルを通すことに成功しました。
GLM最新版も使えたのでOKです。
まあ思うところはありますが、
gcc派 vs 規格派 vs マイナーOS派の話になりそうなので解決とします。
195デフォルトの名無しさん (ブーイモ MM0b-LEUL)
2018/10/15(月) 12:50:55.56ID:A4+xGAqjM #include <tr1/cmath>
だったら使えたのかな?
だったら使えたのかな?
196はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-4Hut)
2018/10/15(月) 13:30:53.01ID:rnCB9VMH0 >>194
それは環境依存というよりそのあたりのパッケージを管理してるメンテナの手が回ってない感じでは……。
Linux に比べると BSD 系はだいぶん人口が少ないらしいし、そういうことも致し方ないのやもしれぬ。
それは環境依存というよりそのあたりのパッケージを管理してるメンテナの手が回ってない感じでは……。
Linux に比べると BSD 系はだいぶん人口が少ないらしいし、そういうことも致し方ないのやもしれぬ。
197デフォルトの名無しさん (ワッチョイ a75c-4Hut)
2018/10/15(月) 14:31:54.20ID:7k7Dj2O30 g++ -std=c++17は試したか?
tr1だった関数がstd直下に来てるぞ
tr1だった関数がstd直下に来てるぞ
198デフォルトの名無しさん (ワッチョイ ff8b-CE2c)
2018/10/15(月) 16:08:03.29ID:FzvdOK9e0 ドラクエ10プレイヤーからの質問。
死んでいるのに動けてしまう『死亡ラグ』
http://egg.5ch.net/test/read.cgi/dqo/1539560522/
改善の余地があると思えますか?
死んでいるのに動けてしまう『死亡ラグ』
http://egg.5ch.net/test/read.cgi/dqo/1539560522/
改善の余地があると思えますか?
199デフォルトの名無しさん (バットンキン MMbf-CE2c)
2018/10/15(月) 16:26:28.74ID:tvJDbt95M ドラゴンクエスト10の下請けプログラマーはC/C++の名人ばかりですよ?
200デフォルトの名無しさん (ワッチョイ c78a-2+Lk)
2018/10/15(月) 16:28:24.70ID:/mdlwLZy0 >>198
猫耳猫オンラインを目指しているのでしょう
猫耳猫オンラインを目指しているのでしょう
201デフォルトの名無しさん (バットンキン MMbf-CE2c)
2018/10/15(月) 16:44:25.17ID:tvJDbt95M 友人がドラクエ10プログラマーなんだけど、C/C++については何でも彼に聞くようにしている。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」 [ぐれ★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 【苺ましまろ】立民衆院議員、人気漫画の水着少女画像を「醜悪」タイ人少女の性搾取事件と関連付け…党内で反発 [少考さん★]
- 「残業キャンセル界隈」若者が増加?「職務放棄」との批判も…“定時退社の権利”どこまで通用するか [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★5 [蚤の市★]
- 【超速報】統一教会、陳謝 [519511584]
- 【速報】1ポンド210円で日英GDP逆転(残り1.5円)...世界6位の経済規模に転落 [237216734]
- 【実況】博衣こよりのえちえちチーズケーキを仕込み(雑談あり)🧪
- 高市政権「かけてもつながらない。機能していない」防衛当局間のホットライン機能せず [834922174]
- 30過ぎた大人おじさんが大学生(昔)のままのファッションをする「おじさんキッズコーデ」、炎上して問題視される。 [153490809]
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑★2 [931948549]
