次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part129
http://echo.2ch.net/test/read.cgi/tech/1483940967/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.100【環境依存OK】
http://echo.2ch.net/test/read.cgi/tech/1478440682/
■長いソースを貼るときはここへ。■
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++相談室 part130 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ f37a-QmV0)
2017/03/31(金) 08:47:49.65ID:UkLjKqcm02デフォルトの名無しさん (ワッチョイ bf54-lR6P)
2017/03/31(金) 16:52:18.52ID:CoeIAoH10 STLつかうと一気に実行ファイルサイズが10倍に?!
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後死ね。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
---- テンプレ ここまで ----
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後死ね。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
---- テンプレ ここまで ----
3デフォルトの名無しさん (ワッチョイ 3f78-QHHb)
2017/03/31(金) 17:03:31.51ID:qlAKv2q70 >>1乙
4デフォルトの名無しさん (ワッチョイ ef14-oQcP)
2017/04/01(土) 09:35:38.04ID:JSPgwSTt0 テンプレートで曖昧なものは強制的に解決させる方法ってあります?
template<typename A, typename B> void func(A a, B b);
func(2.f,3.f); // float
func(2.,3.); // double
func(2.f,3.);// floatで呼び出したい
template<typename A, typename B> void func(A a, B b);
func(2.f,3.f); // float
func(2.,3.); // double
func(2.f,3.);// floatで呼び出したい
5デフォルトの名無しさん (オッペケ Sr17-bOuD)
2017/04/01(土) 10:06:09.92ID:vvD/Bq3hr こういう質問を見ると
何処に落とし穴が有るのだろうと勘ぐってしまう
何処に落とし穴が有るのだろうと勘ぐってしまう
6デフォルトの名無しさん (ワッチョイ d3a6-agmj)
2017/04/01(土) 10:15:43.84ID:vxnrpS460 「強制的に」の解釈だろうね
7デフォルトの名無しさん (ワッチョイ cf29-MCV6)
2017/04/01(土) 10:21:35.44ID:8wn5/JcH0 func<float, float>(2.f, 3.);
8今日は何の日? (ワッチョイ bf7a-mgDT)
2017/04/01(土) 11:36:07.15ID:3A8hlFXh0 'f' 一文字で済む方法が2行上に示されているが…
func(2.f,(float)3.); // てへっ
出題の意図は func(2.f,3.); には手を加えないでということかにゃ?
スペシャライゼーションか非テンプレート版でイグザクトマッチを
用意すればいいじゃないかな
func(2.,3.f); の時は float 優先なのか第一引数優先なのか
ロジックによっては元の設計を見直すべきかも
func(2.f,(float)3.); // てへっ
出題の意図は func(2.f,3.); には手を加えないでということかにゃ?
スペシャライゼーションか非テンプレート版でイグザクトマッチを
用意すればいいじゃないかな
func(2.,3.f); の時は float 優先なのか第一引数優先なのか
ロジックによっては元の設計を見直すべきかも
9デフォルトの名無しさん (ワッチョイ ef14-oQcP)
2017/04/01(土) 11:43:51.07ID:JSPgwSTt0 >>8
>出題の意図は func(2.f,3.); には手を加えないでということかにゃ?
そういうことです
static_castが可能な型同士に限定されるとは思いますが
>スペシャライゼーションか非テンプレート版でイグザクトマッチ
なるほど
なおfunc(2.,3.f)でもfloatですね
>出題の意図は func(2.f,3.); には手を加えないでということかにゃ?
そういうことです
static_castが可能な型同士に限定されるとは思いますが
>スペシャライゼーションか非テンプレート版でイグザクトマッチ
なるほど
なおfunc(2.,3.f)でもfloatですね
10デフォルトの名無しさん (ワッチョイ a356-8BmZ)
2017/04/01(土) 11:59:09.40ID:gOIdtRSt0 お前にテンプレートはまだはやい
11デフォルトの名無しさん (オッペケ Sr17-bOuD)
2017/04/01(土) 12:50:11.46ID:vvD/Bq3hr >スペシャライゼーションか
実用性皆無の糞コードしか想像出来ない
実用性皆無の糞コードしか想像出来ない
12デフォルトの名無しさん (ワッチョイ 3f3b-MCV6)
2017/04/01(土) 18:22:19.01ID:2DXDopa10 そもそも糞コードしか書けない人は何に対してもそうだろ
13デフォルトの名無しさん (ワッチョイ f37a-QmV0)
2017/04/01(土) 19:25:28.02ID:Pijd2zbh0 練習しなきゃ良いコードは書けるようにならない
14デフォルトの名無しさん (オッペケ Sr17-bOuD)
2017/04/01(土) 19:35:34.93ID:iUvRbgEsr そうだな
ただ練習したら必ず良いコードが書ける訳でもない
例えばPODをコピーするのにpragma pack1してmemcpyし始めるK&Rおじさんとか
ただ練習したら必ず良いコードが書ける訳でもない
例えばPODをコピーするのにpragma pack1してmemcpyし始めるK&Rおじさんとか
15デフォルトの名無しさん (ワッチョイ f359-HQfx)
2017/04/01(土) 19:38:01.60ID:p1TV7r2C0 個人的には関数引数の弱い型への変換という
C++言語規約上の暗黙的変換とは逆の流れを引き起こすような記述を
通常と同じような見かけの記述にすることは紛らわしいと希ガス
コード共通化を重視するなら>>7に従うか、あるいはfunc(2.f, 3.f)にするとかして呼び出し元で型を明示し、
そうではなくて弱い型への暗黙的変換を伴うバージョンのfunc()が他とは別のコードになる(スペシャライゼーション対象足りえる
なら、スペシャライゼーションの代わりにfuncを別名にするとかとにかく一目でわかるようにするのが実用的
かと、
C++言語規約上の暗黙的変換とは逆の流れを引き起こすような記述を
通常と同じような見かけの記述にすることは紛らわしいと希ガス
コード共通化を重視するなら>>7に従うか、あるいはfunc(2.f, 3.f)にするとかして呼び出し元で型を明示し、
そうではなくて弱い型への暗黙的変換を伴うバージョンのfunc()が他とは別のコードになる(スペシャライゼーション対象足りえる
なら、スペシャライゼーションの代わりにfuncを別名にするとかとにかく一目でわかるようにするのが実用的
かと、
16デフォルトの名無しさん (ワッチョイ f37a-QmV0)
2017/04/01(土) 21:58:54.19ID:Pijd2zbh0 >>14
練習とは既にあるより良い方法を真似することだから身につかないのは練習になっていないかやる気が無いかだ
練習とは既にあるより良い方法を真似することだから身につかないのは練習になっていないかやる気が無いかだ
17デフォルトの名無しさん (ワッチョイ 3f6f-MCV6)
2017/04/02(日) 07:31:30.34ID:NX0JHgEX0 誰か15を日本語訳してくれ
18デフォルトの名無しさん (オッペケ Sr17-bOuD)
2017/04/02(日) 07:42:27.51ID:0DgUIb4er >>17
・func(0.0f, 0.0)は一見精度落ちない様に見えるがfloatに落ちるのが嫌
・だからfnuc<float>の様な明示的な呼び出しにするか、fnuc_fの様な名前で工夫すべき
・template<> func<double,float>なんて特殊化する暇があったら
非テンプレートのfuncf作れ
・つまりfloat v;「v=0.0;」もコンパイラーの警告だけなのでNG
・もう変数名はシステムハンガリアンしか無いぜ
・func(0.0f, 0.0)は一見精度落ちない様に見えるがfloatに落ちるのが嫌
・だからfnuc<float>の様な明示的な呼び出しにするか、fnuc_fの様な名前で工夫すべき
・template<> func<double,float>なんて特殊化する暇があったら
非テンプレートのfuncf作れ
・つまりfloat v;「v=0.0;」もコンパイラーの警告だけなのでNG
・もう変数名はシステムハンガリアンしか無いぜ
19デフォルトの名無しさん (オッペケ Sr17-bOuD)
2017/04/02(日) 08:00:42.30ID:0DgUIb4er 型変換に於ける定数のルールはC++11で見直されたので
「v=0.0;」は例が良くなかったな。まあいいか
「v=0.0;」は例が良くなかったな。まあいいか
20デフォルトの名無しさん (ワッチョイ f359-HQfx)
2017/04/02(日) 08:01:44.33ID:M04XElTC021デフォルトの名無しさん (ワッチョイ bf6b-agmj)
2017/04/02(日) 11:47:36.98ID:XLcHLDuG0 計算がメインの、建築用CADとか、航空流体力学のちょっとしたソフトとかだと、過剰ではないかもしれない
doubleとfloatとでの四つの組み合わせがちょくちょく登場する計算、
funcのfloatとdoubleの組み合わせで厳密に誤差計算しているような気がする
もしもそうだとすると単精度の誤差すらも気にするようなヤバいシステムがコードの背後に見える
……トカマク式核融合炉の制御ソフトの一部かもな
doubleとfloatとでの四つの組み合わせがちょくちょく登場する計算、
funcのfloatとdoubleの組み合わせで厳密に誤差計算しているような気がする
もしもそうだとすると単精度の誤差すらも気にするようなヤバいシステムがコードの背後に見える
……トカマク式核融合炉の制御ソフトの一部かもな
22デフォルトの名無しさん (スッップ Sddf-M0et)
2017/04/03(月) 21:44:49.44ID:muLND53td AD変換器なんてノイズ多い環境じゃ16bit以上のものなんて使えないぞ
電力関係なら12bit位だろ
いかにその分解能でしっかり制御するかが重要で
算数的な精度なんてどーでもいいのさ
電力関係なら12bit位だろ
いかにその分解能でしっかり制御するかが重要で
算数的な精度なんてどーでもいいのさ
23デフォルトの名無しさん (ワッチョイ b310-MCV6)
2017/04/03(月) 21:49:37.61ID:iUZo1Vn10 最後の1行を除き同意
24デフォルトの名無しさん (スッップ Sddf-M0et)
2017/04/03(月) 22:07:16.82ID:muLND53td 偉い人向けに表示上だけは電卓に合わせないとうるさいって話かな
25デフォルトの名無しさん (ワッチョイ f37a-QmV0)
2017/04/03(月) 22:36:46.92ID:rMPFCCT20 電池とかのラインで使われてる計測器だと有効なのは小数点以下は3桁くらいまでかな
26デフォルトの名無しさん (ワッチョイ b310-MCV6)
2017/04/03(月) 22:41:35.95ID:iUZo1Vn10 最小目盛りの10分の1
27デフォルトの名無しさん (ワッチョイ ef14-oQcP)
2017/04/03(月) 22:48:03.77ID:teq5sGj/0 数学的なベクトルのクラスで
template<int N> vec{ double v[N];};
などとした場合、コンストラクタで各成分を指定したいようなときって
どうするのが筋ですかね?
それとも引数の数が変わるのがわかってるようなケースはテンプレートすべきではない?
template<int N> vec{ double v[N];};
などとした場合、コンストラクタで各成分を指定したいようなときって
どうするのが筋ですかね?
それとも引数の数が変わるのがわかってるようなケースはテンプレートすべきではない?
28デフォルトの名無しさん (オッペケ Sr17-bOuD)
2017/04/03(月) 22:59:42.22ID:/XngI6+6r こういういかにもな質問を見ると、
何処に落とし穴が有るのだろうと勘ぐってしまう
何処に落とし穴が有るのだろうと勘ぐってしまう
29デフォルトの名無しさん (ワッチョイ bf80-QHHb)
2017/04/03(月) 23:08:28.79ID:BzAHvGte030デフォルトの名無しさん (ワッチョイ ef14-oQcP)
2017/04/03(月) 23:15:39.73ID:teq5sGj/0 double d[]={0.,1.,2.};
vec v(d);
みたいなことですかね?
あと今思いついたのは共通に処理できるところだけ
template<int N> struct vec_base{double v[N];}
template<int N> struct vec {};
template<>strct vec<3> : public vec_base<3>{ vec(double, double, double);};
みたいな
vec v(d);
みたいなことですかね?
あと今思いついたのは共通に処理できるところだけ
template<int N> struct vec_base{double v[N];}
template<int N> struct vec {};
template<>strct vec<3> : public vec_base<3>{ vec(double, double, double);};
みたいな
31デフォルトの名無しさん (ワッチョイ bfcd-jsM4)
2017/04/03(月) 23:18:11.93ID:xWKBtMgw0 可変長テンプレートじゃだめなの
32デフォルトの名無しさん (ワッチョイ ef14-oQcP)
2017/04/03(月) 23:38:46.07ID:teq5sGj/0 そんなのありましたね・・・
調べてみます
調べてみます
33デフォルトの名無しさん (ワッチョイ bfcc-hXdu)
2017/04/04(火) 02:27:46.41ID:cqsAbaT40 template<int... args>
34デフォルトの名無しさん (ワッチョイ 733c-kVPK)
2017/04/04(火) 12:47:55.32ID:CFV3B2Uw0 Nは要素数だからそれじゃダメやろ
35デフォルトの名無しさん (スッップ Sddf-mnw5)
2017/04/04(火) 13:09:36.94ID:6xG2515ud template <typename... T> は機能するけどこの場合ちょっとやだな
36デフォルトの名無しさん (ワッチョイ 3f91-MCV6)
2017/04/04(火) 15:20:53.13ID:SRqXkALx0 sizeof... の使いどころじゃね?
37デフォルトの名無しさん (オッペケ Sr17-bOuD)
2017/04/04(火) 17:42:54.88ID:Xbh3DIbfr 質問者がコンストラクターを使用したいと言っている以上
残念なコードになることは不可避
static_assertでも入れとくしかない
残念なコードになることは不可避
static_assertでも入れとくしかない
38デフォルトの名無しさん (オッペケ Sr17-bOuD)
2017/04/04(火) 20:17:58.88ID:Xbh3DIbfr ネタも投下されないようなので取り敢えず貼っとくか
http://ideone.com/MjE67k
http://ideone.com/MjE67k
39デフォルトの名無しさん (ワッチョイ bf80-QHHb)
2017/04/04(火) 20:55:09.83ID:vk9hQqDM040デフォルトの名無しさん (ワッチョイ cf59-dxaC)
2017/04/06(木) 07:41:45.88ID:aL+qmOiO0 質問ですが、bool型の変数x値(true/false)をint型の1/0に変換する場合、
(int)xで正しいの?それとも演算子を使ってx!=falseとか!!xとすべき?
あるいは
int y; if(x) { y = 1; } else { y = 0; }
式にやらなきゃダメ?
そもそもC++においても「!」、「!=」、「==」(オーバーロードされていないやつ)はintを返すんやろうか…
(int)xで正しいの?それとも演算子を使ってx!=falseとか!!xとすべき?
あるいは
int y; if(x) { y = 1; } else { y = 0; }
式にやらなきゃダメ?
そもそもC++においても「!」、「!=」、「==」(オーバーロードされていないやつ)はintを返すんやろうか…
41デフォルトの名無しさん (ワッチョイ be14-4Usw)
2017/04/06(木) 07:49:27.05ID:XYhavOUb0 x?1:0
42デフォルトの名無しさん (ワッチョイ f3b4-GJ90)
2017/04/06(木) 08:13:07.80ID:WJuxfIBi0 N4660の
7.6p6
8.3.1p9
8.10p1
あたりを読んでから質問するという発送は無いものか
7.6p6
8.3.1p9
8.10p1
あたりを読んでから質問するという発送は無いものか
43デフォルトの名無しさん (ワッチョイ 7f93-+TA9)
2017/04/06(木) 08:18:19.01ID:3pIc1pJU044デフォルトの名無しさん (オッペケ Sr57-GJ90)
2017/04/06(木) 08:36:31.85ID:8pWbCGLcr 一般人はtypeidを知らない可能性があるが
auto x = (0 == 0);
と書いてxの上にマウスカーソルを持って行く知能は欲しいところ
auto x = (0 == 0);
と書いてxの上にマウスカーソルを持って行く知能は欲しいところ
45デフォルトの名無しさん (ワッチョイ 7f93-+TA9)
2017/04/06(木) 08:49:41.77ID:3pIc1pJU0 一般人てコンパイラって何?な人?
46デフォルトの名無しさん (オッペケ Sr57-GJ90)
2017/04/06(木) 10:25:11.03ID:zY+rYc0kr 企業に勤めていて日常的にC++言語を使うような人、かな
47デフォルトの名無しさん (ワッチョイ 7f93-+TA9)
2017/04/06(木) 11:12:46.55ID:3pIc1pJU0 日常的にC++使っててtypeid知らないなんて死刑だろ
48デフォルトの名無しさん (スッップ Sd92-dvjh)
2017/04/06(木) 11:30:17.09ID:b6mS5n8zd 知っていても使わないなあ
試しに実験したことはあるかも
試しに実験したことはあるかも
49デフォルトの名無しさん (スッップ Sd92-dvjh)
2017/04/06(木) 11:30:45.11ID:b6mS5n8zd C++たまにしか使いません
50デフォルトの名無しさん (ワッチョイ fb4a-TXVw)
2017/04/06(木) 18:35:51.13ID:H/56SjdK0 少し前からDXライブラリの勉強を始めました
「ポンクソフト」というサイトさんの「C/C++言語とDXライブラリでゲーム作成入門」というページを真似ながら勉強しています
そこの「6.オセロの作成」に先程着手したんですが、何度見返しても以下のエラーが出て実行できません
一つ目:コードC3872「'0x200e':この文字を識別子で使用することはできません」行67
二つ目:コードC3872「'0x200e':この文字を識別子で使用することはできません」行80
解決方を求めて「C3872」「0x200e」などと検索したんですが、解決方を見つけることは叶いませんでした
どなたか私に原因と解決方を教えて下さい
「ポンクソフト」というサイトさんの「C/C++言語とDXライブラリでゲーム作成入門」というページを真似ながら勉強しています
そこの「6.オセロの作成」に先程着手したんですが、何度見返しても以下のエラーが出て実行できません
一つ目:コードC3872「'0x200e':この文字を識別子で使用することはできません」行67
二つ目:コードC3872「'0x200e':この文字を識別子で使用することはできません」行80
解決方を求めて「C3872」「0x200e」などと検索したんですが、解決方を見つけることは叶いませんでした
どなたか私に原因と解決方を教えて下さい
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】衆院議員定数削減法案、自民・維新が今国会成立見送りで調整 [Hitzeschleier★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ★2 [冬月記者★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★2 [蚤の市★]
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ ★2 [Hitzeschleier★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★5 [Hitzeschleier★]
- 元草津町議会議員 新井祥子さんの裁判判決を受けて | 全国フェミニスト議員連盟 [少考さん★]
- 【悲報】ネトウヨの次のターゲット「渡邊渚」に決まるwwwwwwwwwwwwwwwwwwwww [455031798]
- 【乞食速報】epicで『ホグワーツレガシー』無料キター♪───O(´ん`)O────♪ [931948549]
- 千歳雪やばすぎ
- 竹中平蔵「日米が長年守り続けてき台湾有事に関する曖昧戦略の知恵を一瞬にして無にさせた岡田の責任は非常に重い」 [271912485]
- 米兵「ジーザス!!!!なぜ日本兵は銃弾を切り払いながら突っ込んでくるんだ!!!」
- 【国際】トランプ米政権、日中対立から距離 [354616885]
