次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part132
http://mevius.5ch.net/test/read.cgi/tech/1507561894/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1509780815/
■長いソースを貼るときはここへ。■
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
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C++相談室 part133
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ 1fcf-H1rY)
2017/11/24(金) 16:52:50.43ID:WoNXR2ax0918デフォルトの名無しさん (ワッチョイ 6d04-lXUw)
2018/01/13(土) 21:49:30.82ID:1X9BcJ9h0919デフォルトの名無しさん (ワッチョイ 0aa8-XiqC)
2018/01/13(土) 22:24:25.09ID:B4wYryLR0 NVIでぐぐれや
920デフォルトの名無しさん (ワッチョイ ea34-yppE)
2018/01/13(土) 22:56:11.51ID:6aei/M/30 Java厨絶滅成就(・人・)ナムナム
921はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5e6f-QpsD)
2018/01/13(土) 23:27:00.62ID:SxvD86sf0 >>917
スーパーというのはある集合を内包する、より大きな集合。 サブというのはある集合の一部の集合。
このとき、オブジェクト指向におけるクラスというのはインスタンスの集合とみなして、
サブクラスはスーパークラスの一部の集合とする考え方によってスーパー/サブと言ってる。
しかし、あるクラスをクラスが持つ機能 (メソッド) の集合と考えるとスーパー/サブが逆転する。
これはわかり難くて混乱の元。
という教訓に基づき基底クラス (base class) と派生クラス (derived class) という用語を C++ では採用した。
ちなみに C++ にはサブオブジェクトという用語はあって、
これはあるオブジェクトのデータメンバや基底のオブジェクトのこと。
スーパーというのはある集合を内包する、より大きな集合。 サブというのはある集合の一部の集合。
このとき、オブジェクト指向におけるクラスというのはインスタンスの集合とみなして、
サブクラスはスーパークラスの一部の集合とする考え方によってスーパー/サブと言ってる。
しかし、あるクラスをクラスが持つ機能 (メソッド) の集合と考えるとスーパー/サブが逆転する。
これはわかり難くて混乱の元。
という教訓に基づき基底クラス (base class) と派生クラス (derived class) という用語を C++ では採用した。
ちなみに C++ にはサブオブジェクトという用語はあって、
これはあるオブジェクトのデータメンバや基底のオブジェクトのこと。
922デフォルトの名無しさん
2018/01/14(日) 00:30:48.99 >>921
> ちなみに C++ にはサブオブジェクトという用語はあって、
> これはあるオブジェクトのデータメンバや基底のオブジェクトのこと。
へー、スーパークラス=基底クラスで、基底のオブジェクト=サブオブジェクトなのか
これがスーパー/サブの逆転ってやつか
確かにわかりづらいね
> ちなみに C++ にはサブオブジェクトという用語はあって、
> これはあるオブジェクトのデータメンバや基底のオブジェクトのこと。
へー、スーパークラス=基底クラスで、基底のオブジェクト=サブオブジェクトなのか
これがスーパー/サブの逆転ってやつか
確かにわかりづらいね
923デフォルトの名無しさん (ワッチョイ ea34-yppE)
2018/01/14(日) 00:33:39.99ID:ng7CbKaO0 スーパーとかダセェ
924デフォルトの名無しさん (ワッチョイ 8abd-kJSF)
2018/01/14(日) 01:04:12.68ID:6MYOWaJx0 VC++だと派生クラスBarから基底クラスFooのメソッドfuncを
__super::func()
という風に
__super
キ──ワ──ドが使えるんじゃ!
__super::func()
という風に
__super
キ──ワ──ドが使えるんじゃ!
925デフォルトの名無しさん (ワッチョイ 8ae7-0PCX)
2018/01/14(日) 05:55:30.36ID:06kwM4S00 privateなvirtual funcImpl()をカスタマイズポイントとして派生クラスに自由にオーバーライドさせて
基底クラスのpublicなfunc()で>>912で言うところのSuper::func()相当の処理してからfuncImpl()を呼ぶ
(func()自体はnon-virtual)
ってのがまあ常套手段だと思うけどそれだと困る?
基底クラスのpublicなfunc()で>>912で言うところのSuper::func()相当の処理してからfuncImpl()を呼ぶ
(func()自体はnon-virtual)
ってのがまあ常套手段だと思うけどそれだと困る?
926デフォルトの名無しさん (ワッチョイ ad7e-UJUP)
2018/01/14(日) 06:37:11.95ID:N+BeAo4b0 >>924
多重継承してるとあかんけどな
多重継承してるとあかんけどな
927デフォルトの名無しさん (ワッチョイ 6a12-0PCX)
2018/01/14(日) 10:01:41.75ID:Z2heVtXU0 >>922
多分ちげーんだろーな
C++のサブオブジェクトはサブリミナルとかのサブだろ
オブジェクトに潜んでる何かだろ
つい最近にもあった潜性/顕性の潜性の方だろ
無理に対義語作るならジス(this)・オブジェクトかメイン・オブジェクトじゃねえの
多分ちげーんだろーな
C++のサブオブジェクトはサブリミナルとかのサブだろ
オブジェクトに潜んでる何かだろ
つい最近にもあった潜性/顕性の潜性の方だろ
無理に対義語作るならジス(this)・オブジェクトかメイン・オブジェクトじゃねえの
928デフォルトの名無しさん (ワッチョイ 8ae7-0PCX)
2018/01/14(日) 12:55:55.66ID:06kwM4S00 サブセットのサブだろ
あるオブジェクトの一部分がサブオブジェクト
対義語はやっぱりスーパーだよ
あるオブジェクトの一部分がサブオブジェクト
対義語はやっぱりスーパーだよ
929デフォルトの名無しさん (ワッチョイ ad7e-UJUP)
2018/01/14(日) 13:03:04.48ID:N+BeAo4b0 部分オブジェクトの反対語をスーパーオブジェクトとは言わん
930デフォルトの名無しさん (ワッチョイ 8ae7-0PCX)
2018/01/14(日) 13:14:31.73ID:06kwM4S00 でもサブセットの反対はスーパーセットだろ
931デフォルトの名無しさん (ワッチョイ 4923-IjLh)
2018/01/14(日) 13:32:41.21ID:0BOIhrZQ0 subset, subhuman などに使われる前置詞 sub だろ
語義は「不完全な」だ
語義は「不完全な」だ
932デフォルトの名無しさん
2018/01/14(日) 14:17:12.73 じゃあ対義語はconcreteか
933デフォルトの名無しさん (ワッチョイ 8abd-kJSF)
2018/01/14(日) 15:03:36.89ID:6MYOWaJx0 集合は要素の重複を認めないのでスーパーオブジェクトとかサブオブジェクトとか言う方が異端なのでは…
934デフォルトの名無しさん (ワッチョイ 8abd-kJSF)
2018/01/14(日) 15:06:32.87ID:6MYOWaJx0 英語圏の方々の言語感覚は正直ワカランこともあるが
「具体的な」(Concrete)と「完全な」(Complete)は多分使い分けられれているのではないか
「具体的な」(Concrete)と「完全な」(Complete)は多分使い分けられれているのではないか
935デフォルトの名無しさん (ワッチョイ 8abd-kJSF)
2018/01/14(日) 15:11:45.36ID:6MYOWaJx0 >>926
クラスcがクラスaの単一継承なら
{ クラスcに属するオブジェクト } ⊂ { クラスaに属するオブジェクト } ・・・ (1)
なのでa::func()はcから見て__super::func()で正しいが、
クラスcがクラスaとbの間の子なら、(1)および
{ クラスcに属するオブジェクト } ⊂ { クラスbに属するオブジェクト } ・・・ (2)
はどっちも成立しないから__superキーワードが使えないのはある意味当然で整合的と言える、
クラスcがクラスaの単一継承なら
{ クラスcに属するオブジェクト } ⊂ { クラスaに属するオブジェクト } ・・・ (1)
なのでa::func()はcから見て__super::func()で正しいが、
クラスcがクラスaとbの間の子なら、(1)および
{ クラスcに属するオブジェクト } ⊂ { クラスbに属するオブジェクト } ・・・ (2)
はどっちも成立しないから__superキーワードが使えないのはある意味当然で整合的と言える、
936デフォルトの名無しさん (ワッチョイ 8abd-kJSF)
2018/01/14(日) 15:30:00.21ID:6MYOWaJx0 スマン訂正
クラスcがクラスaとbの間の子(で公開継承)なら、(1)と(2)が両方成立するんだったorz
(cのインスタンスはaのインスタンスとしてもbのインスタンスとしても扱える
ついでに補足で、>>933は「包含関係の意味でスーパーとかサブとか言うなら」異端という意味
クラスcがクラスaとbの間の子(で公開継承)なら、(1)と(2)が両方成立するんだったorz
(cのインスタンスはaのインスタンスとしてもbのインスタンスとしても扱える
ついでに補足で、>>933は「包含関係の意味でスーパーとかサブとか言うなら」異端という意味
937デフォルトの名無しさん (ワッチョイ ad6a-UJUP)
2018/01/14(日) 21:03:41.51ID:66CfjFh30 >>931
incompleteとは違うね
incompleteとは違うね
std::set にて std::set<int> に特化して実装しようとしていますが、
ここで private メンバーである iterator positionToInsert(int n) を記述しようとして、はまっています
iterator posisionToInsert(int n) :
n を挿入するべき内部テーブルの位置(イテレータ)を返す
n がすでに set にあったら nullptr を返す
としたかったんですが
・nullptr を iterator に代入できない
・そもそも コンテナ.end() が nullptr だ(無理にキャストしてみて分かった)…@
返り値を複数にするしかないのかな…
std:set.insert() も pair を返すみたいですし
@は規格で決まっているのでしょうか?処理系依存でしょうか?
https://teratail.com/questions/25576
ここで private メンバーである iterator positionToInsert(int n) を記述しようとして、はまっています
iterator posisionToInsert(int n) :
n を挿入するべき内部テーブルの位置(イテレータ)を返す
n がすでに set にあったら nullptr を返す
としたかったんですが
・nullptr を iterator に代入できない
・そもそも コンテナ.end() が nullptr だ(無理にキャストしてみて分かった)…@
返り値を複数にするしかないのかな…
std:set.insert() も pair を返すみたいですし
@は規格で決まっているのでしょうか?処理系依存でしょうか?
https://teratail.com/questions/25576
939デフォルトの名無しさん (ワッチョイ 5d8a-QpsD)
2018/01/15(月) 00:07:45.76ID:akdFGtdY0 iteratorはポインタちゃうで
940デフォルトの名無しさん (ワッチョイ ea34-yppE)
2018/01/15(月) 00:52:09.62ID:p80Tlp9s0 変なメンバ関数つくるよりfind使っておけよトーシロー
理解できないなら余計な機能追加はするな
余計にわからなくしてプログラムを目茶苦茶にするな
理解できないなら余計な機能追加はするな
余計にわからなくしてプログラムを目茶苦茶にするな
941デフォルトの名無しさん (ワッチョイ ea34-yppE)
2018/01/15(月) 00:54:40.48ID:p80Tlp9s0 findじゃないなlower_boundで位置は把握できるだろこのハゲー
942片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ b5b3-TJOf)
2018/01/15(月) 01:03:25.78ID:egVCSXHP0 std::setは挿入する位置を気にしないはずだが。設計思想が間違っている。
943デフォルトの名無しさん (ワッチョイ c576-iyAC)
2018/01/15(月) 08:06:37.84ID:ss1wTrUG0 おれば後ろより前に挿入する方が好き
945デフォルトの名無しさん (ワッチョイ 4923-IjLh)
2018/01/15(月) 11:18:44.64ID:WC62iZPf0946デフォルトの名無しさん (ブーイモ MM8e-BVdN)
2018/01/15(月) 14:02:37.88ID:2ZVCG19QM >>939-942,945-946
コメントありがとうございます
>>945
はい、結果と成否をわけることにしました
http://mevius.2ch.net/test/read.cgi/tech/1434079972/33
コメントありがとうございます
>>945
はい、結果と成否をわけることにしました
http://mevius.2ch.net/test/read.cgi/tech/1434079972/33
948デフォルトの名無しさん (ワッチョイ 3946-TSXj)
2018/01/15(月) 22:43:32.66ID:9+FUM4nJ0 class Foo{
void function(){
hoge.exe();
}
private:
Hoge hoge;
}
と
class Foo{
void function(Hoge& hoge){
hoge.exe();
}
}
どっちが最適化かかりやすい?
void function(){
hoge.exe();
}
private:
Hoge hoge;
}
と
class Foo{
void function(Hoge& hoge){
hoge.exe();
}
}
どっちが最適化かかりやすい?
949デフォルトの名無しさん (ワッチョイ b623-aOXM)
2018/01/15(月) 22:51:21.17ID:aACM4QK20 ほぼ変わらないと思うけど
スタックに積まない分前者かなと思う
スタックに積まない分前者かなと思う
950デフォルトの名無しさん (ワントンキン MM7a-Rz0Q)
2018/01/15(月) 23:37:09.62ID:GwTCehVfM ただのラッパなら自由関数にしれ
951デフォルトの名無しさん (ワッチョイ 8acb-dIle)
2018/01/16(火) 00:21:59.76ID:683mXkIO0 >>948
情報処理における罪の多くは最適化の名のもとでなされる。
そこはメンテナンス性の高い方を選ぶべき。
これから何千行のコードを書こうとしてるのか知らないけど、いちいちそんなことに頭使ってたら禿げるよ。
情報処理における罪の多くは最適化の名のもとでなされる。
そこはメンテナンス性の高い方を選ぶべき。
これから何千行のコードを書こうとしてるのか知らないけど、いちいちそんなことに頭使ってたら禿げるよ。
952デフォルトの名無しさん (ワッチョイ add5-UJUP)
2018/01/16(火) 06:29:10.56ID:zATeRHxg0 データメンバへのアクセスはthis経由なので
ポインタにオフセットを書けて逆参照という動作になる
左辺値参照の場合はオフセットなしで逆参照
いずれにせよ仮引数を受け取るという点は同じ動作だ
最適化という観点からはデータメンバはrestrictが付いているようなもので
若干有利ではないかな
ただしデータメンバの場合は全ての非静的メンバ関数が関与する可能性があり
仮引数の場合は当該関数のみというアクセス範囲の違いがあるので
最適化する以前の、基本的な設計で選ぶべきだろう
ポインタにオフセットを書けて逆参照という動作になる
左辺値参照の場合はオフセットなしで逆参照
いずれにせよ仮引数を受け取るという点は同じ動作だ
最適化という観点からはデータメンバはrestrictが付いているようなもので
若干有利ではないかな
ただしデータメンバの場合は全ての非静的メンバ関数が関与する可能性があり
仮引数の場合は当該関数のみというアクセス範囲の違いがあるので
最適化する以前の、基本的な設計で選ぶべきだろう
953デフォルトの名無しさん (ワッチョイ a99f-IxFb)
2018/01/16(火) 06:49:48.40ID:TUkAINts0 messageboxで変数は表示できますか。
954デフォルトの名無しさん (ワッチョイ add5-UJUP)
2018/01/16(火) 07:53:30.35ID:zATeRHxg0 できるけど、モーダルでもモードレスでもかなりうぜえぞ
template <typename T>
void display(T const& variable)
{
stringstream ss;
ss << variable;
MessageBox(NULL, ss.str().data(), typeid(variable).name(), MB_OK);
}
template <typename T>
void display(T const& variable)
{
stringstream ss;
ss << variable;
MessageBox(NULL, ss.str().data(), typeid(variable).name(), MB_OK);
}
955デフォルトの名無しさん (ワッチョイ e531-BgxS)
2018/01/16(火) 17:35:22.56ID:GcKo/GK70 質問させてください。VS2008で仮想継承使っていたら以下の警告が出たんですが、警告が出ないようにするにはどうすればいいでしょうか?
warning C4250: 'CHoge' : 2 つ以上のメンバが同じ名前を持っています。'CTest1::CTest1::Draw' から継承します。
----------------------
class ITest1 {
public: virtual void Draw() = 0;
};
class CTest1 : virtual public ITest1 {
public: virtual void Draw() { printf("Draw\n"); }
};
class ITest2 : virtual public ITest1 {
public: virtual void Func() = 0;
};
class CHoge : public ITest2, public CTest1 {
public: virtual void Func() {}
};
warning C4250: 'CHoge' : 2 つ以上のメンバが同じ名前を持っています。'CTest1::CTest1::Draw' から継承します。
----------------------
class ITest1 {
public: virtual void Draw() = 0;
};
class CTest1 : virtual public ITest1 {
public: virtual void Draw() { printf("Draw\n"); }
};
class ITest2 : virtual public ITest1 {
public: virtual void Func() = 0;
};
class CHoge : public ITest2, public CTest1 {
public: virtual void Func() {}
};
956デフォルトの名無しさん (ワッチョイ add5-UJUP)
2018/01/16(火) 18:00:29.71ID:zATeRHxg0 VS2017ではデフォでは何も言ってこず
/W4にするとC4250が出る
warningだろ? errorは直すしかないが
warningは内容を読んで理解したうえでどうするかを判断するものだ
必ず消そうと思うな、キリねえぞ
意味を理解しないからdisられたと思っちまうんだよ
/W4にするとC4250が出る
warningだろ? errorは直すしかないが
warningは内容を読んで理解したうえでどうするかを判断するものだ
必ず消そうと思うな、キリねえぞ
意味を理解しないからdisられたと思っちまうんだよ
957デフォルトの名無しさん (ワッチョイ add5-UJUP)
2018/01/16(火) 18:02:50.15ID:zATeRHxg0 どうしても「消すこと」が絶対ならこれやっとけ
#pragma warning(disable : 4250)
#pragma warning(disable : 4250)
958デフォルトの名無しさん
2018/01/16(火) 18:08:17.81 >>955
なんでITest2を仮想継承してないの?
なんでITest2を仮想継承してないの?
959デフォルトの名無しさん (スプッッ Sdea-IjLh)
2018/01/16(火) 18:11:37.58ID:JbjA4DiDd この場合どっちを継承するとかの問題もないし
普通にこっちにも virtual つければいいだけだと思うが vc だと違うのか?
>>955
>class CHoge : public ITest2, public CTest1 {
>public: virtual void Func() {}
>};
こう
class CHoge : virtual public ITest2, virtual public CTest1 {
public: virtual void Func() {}
};
普通にこっちにも virtual つければいいだけだと思うが vc だと違うのか?
>>955
>class CHoge : public ITest2, public CTest1 {
>public: virtual void Func() {}
>};
こう
class CHoge : virtual public ITest2, virtual public CTest1 {
public: virtual void Func() {}
};
960デフォルトの名無しさん (ワッチョイ add5-UJUP)
2018/01/16(火) 18:30:21.88ID:zATeRHxg0 おまえら質問者に教えて貰うあべこべになりそうだなw
961デフォルトの名無しさん (ワッチョイ ea34-yppE)
2018/01/16(火) 18:55:59.62ID:Ngn2q6Fj0 iTest2のDraw()が零でCTest1のDraw()が定義されているからそりゃ衝突する罠
962デフォルトの名無しさん (ワッチョイ e531-BgxS)
2018/01/16(火) 20:35:10.19ID:GcKo/GK70963デフォルトの名無しさん (ワッチョイ 2a98-4pcN)
2018/01/17(水) 12:08:14.47ID:iC3iQa/y0 boost::spirit::qiで
boost::spirit::qi::rule<std::string::iterator, std::string()> hogehoge;
としてとき std::string() のようにかっこ付でテンプレート引数に与えていますが
このかっこ付で型名をあたえる方法はどのように活用できますか?(一般論として
boost::spirit::qi::rule<std::string::iterator, std::string()> hogehoge;
としてとき std::string() のようにかっこ付でテンプレート引数に与えていますが
このかっこ付で型名をあたえる方法はどのように活用できますか?(一般論として
964デフォルトの名無しさん (ワッチョイ 0aa8-XiqC)
2018/01/17(水) 13:05:18.47ID:K0Busrpg0 それは特別な方法ではなく普通の『引数をとらずstringを返す関数型』の指定でしかないから
一般論として普通はテンプレートで関数の型を明示的に指定したいときに活用する
一般論として普通はテンプレートで関数の型を明示的に指定したいときに活用する
965デフォルトの名無しさん (ワッチョイ 2a98-4pcN)
2018/01/17(水) 14:11:03.20ID:iC3iQa/y0 ありがとうございます。
引数のシグネチャに戻り値を加えたものってことでいいんですかね?
これで関数の入出力の型をテンプレートが知ることができるということですか
引数のシグネチャに戻り値を加えたものってことでいいんですかね?
これで関数の入出力の型をテンプレートが知ることができるということですか
966デフォルトの名無しさん (ワッチョイ b5b3-QpsD)
2018/01/17(水) 22:57:17.27ID:xvLKn6F+0 ビルドに対するプロファイラってありますか?
967デフォルトの名無しさん (ワッチョイ 9d23-bNKV)
2018/01/18(木) 11:15:13.47ID:4g2nAWWS0968デフォルトの名無しさん (ワッチョイ 25b3-GP+B)
2018/01/18(木) 20:20:38.59ID:YPPczFY+0 ありがとうございます
969デフォルトの名無しさん (ワッチョイ a37f-QRuf)
2018/01/19(金) 10:25:28.43ID:2zN3bRh70 質問お願いします。
装置制御のプログラムを組みたいと思っているのですが、最適な言語はC++でいいのか迷っています。
内容としては、イベントを開く際に、一軒家の室内灯のオンオフ制御や、スイッチの信号受信、信号を送信しての仕掛の動作などです。
現在理解している言語はVBAのみです。
どの言語を学習するにしろ、ほぼ一からの学習になると思うので、最適な言語は何なのか調べているところです。
最適なものはC++なのか、それとも他にあるのか教えて頂けたら幸いです。
装置制御のプログラムを組みたいと思っているのですが、最適な言語はC++でいいのか迷っています。
内容としては、イベントを開く際に、一軒家の室内灯のオンオフ制御や、スイッチの信号受信、信号を送信しての仕掛の動作などです。
現在理解している言語はVBAのみです。
どの言語を学習するにしろ、ほぼ一からの学習になると思うので、最適な言語は何なのか調べているところです。
最適なものはC++なのか、それとも他にあるのか教えて頂けたら幸いです。
970愛知人
2018/01/19(金) 10:28:45.88ID:96/ZCuec そんなんハードウェアによるだろ
971デフォルトの名無しさん (オイコラミネオ MM79-dWYP)
2018/01/19(金) 10:43:53.96ID:ZWDiJg2ZM 対象は全く問題ないがC言語を理解したあとでないといきなりC++を学うのは危険です。
972デフォルトの名無しさん (スップ Sd03-kqG9)
2018/01/19(金) 10:50:54.04ID:5gb0XR0Xd C++がベスト
973デフォルトの名無しさん (ワッチョイ f5bb-nLHG)
2018/01/19(金) 10:57:22.28ID:jSqbt2Li0 >>969
CPUは何を使う予定?
CPUは何を使う予定?
974デフォルトの名無しさん (ワッチョイ a37f-QRuf)
2018/01/19(金) 11:02:40.08ID:2zN3bRh70975愛知人
2018/01/19(金) 11:09:04.52ID:96/ZCuec どうやって照明をオンオフするの?
元からコンピュータによる照明制御の仕組みが備わってる建物か照明自体に無線通信機能のついてるやつじゃないと無理じゃね?
元からコンピュータによる照明制御の仕組みが備わってる建物か照明自体に無線通信機能のついてるやつじゃないと無理じゃね?
976愛知人
2018/01/19(金) 11:11:31.52ID:96/ZCuec それか物理的にスイッチを押す装置を取り付けるか...
977デフォルトの名無しさん (ワッチョイ a37f-QRuf)
2018/01/19(金) 11:15:52.48ID:2zN3bRh70978愛知人
2018/01/19(金) 11:21:06.90ID:96/ZCuec LEDを後付けとは?照明用のLED並みに明るいLEDを部屋に置くということ?
照明をリモコン化する商品はたくさんあるようだからそれらを使って既存の照明を無線化することもできるが。
照明をリモコン化する商品はたくさんあるようだからそれらを使って既存の照明を無線化することもできるが。
979デフォルトの名無しさん (ワッチョイ a37f-QRuf)
2018/01/19(金) 11:26:16.24ID:2zN3bRh70980デフォルトの名無しさん (ワッチョイ f5bb-nLHG)
2018/01/19(金) 11:28:53.86ID:jSqbt2Li0 点滅ってパルス幅変調?
981愛知人
2018/01/19(金) 11:32:59.39ID:96/ZCuec 無線のでもオンオフを繰り返せばいいはず。
後付けの照明って室内灯レベルには照らせなさそうだがそれでも問題ない?
後付けの照明って室内灯レベルには照らせなさそうだがそれでも問題ない?
982デフォルトの名無しさん (ワッチョイ a37f-QRuf)
2018/01/19(金) 11:50:52.24ID:2zN3bRh70983デフォルトの名無しさん (ワッチョイ 0b79-2tnM)
2018/01/19(金) 12:08:12.88ID:L4zuKtC40984愛知人
2018/01/19(金) 12:08:27.47ID:96/ZCuec いい照明装置が見つかったとして、こういうSSRとArduinoを使ってAC電源を制御するとか。Arduinoなら言語は必然的にC言語。
http://akizukidenshi.com/catalog/g/gI-08620/
http://akizukidenshi.com/catalog/g/gI-08620/
985デフォルトの名無しさん (ワッチョイ f5bb-nLHG)
2018/01/19(金) 12:09:17.61ID:jSqbt2Li0 なるほど、明るさをじわーっと変化させたりじゃないのね
で、C++の話に戻るけど
C++を使うならC++コンパイラがあるCPUを選ぶ必要があるぞ
たとえばg++を使うならARMはいいけどPIC16F84なんかは無理
で、C++の話に戻るけど
C++を使うならC++コンパイラがあるCPUを選ぶ必要があるぞ
たとえばg++を使うならARMはいいけどPIC16F84なんかは無理
986デフォルトの名無しさん (ワッチョイ a37f-QRuf)
2018/01/19(金) 13:49:09.01ID:2zN3bRh70987デフォルトの名無しさん (ドコグロ MM79-z/Ib)
2018/01/19(金) 15:12:20.32ID:yMU0ke2CM Wifi対応のLED電球をスマホで制御ならやったことある
この程度でいいなら制御側はなんでもいい気がする
この程度でいいなら制御側はなんでもいい気がする
988デフォルトの名無しさん (ワッチョイ 3d46-7dS8)
2018/01/20(土) 00:19:28.66ID:i+Y70H5F0 std::vectorの[]演算子って引数の型がstd::size_tで定義されてるけどint型とかshort型で渡すと暗黙の型変換がかかって遅くなる?
989愛知人
2018/01/20(土) 00:21:47.27ID:sgAjbMHf 型はコンパイル時に決定されるのでは?
990デフォルトの名無しさん (ワッチョイ 557f-GP+B)
2018/01/20(土) 00:29:04.03ID:gCiUg27G0 キャストはコストがかかるってメイヤーズが言ってた
991デフォルトの名無しさん (ワッチョイ 2334-wln7)
2018/01/20(土) 01:25:38.81ID:AVDgMNZq0 movzxで変換かけるだろうし多少遅くはなる
992デフォルトの名無しさん (ワッチョイ d5b3-uO2t)
2018/01/20(土) 02:12:08.07ID:m8g+JTvk0 大抵の石では拡大型変換は多くても1命令でできるので、遅くなるっちゃ遅くなるけどそこまで気にするほどでもない
更に言うと、コンパイラの最適化次第では型変換を省略して0命令になるかもしれない
よほど変態的な型変換を挟むとか、組み込み等で1命令でも削減したいとかでなければ、あまり深く考えても…
更に言うと、コンパイラの最適化次第では型変換を省略して0命令になるかもしれない
よほど変態的な型変換を挟むとか、組み込み等で1命令でも削減したいとかでなければ、あまり深く考えても…
993デフォルトの名無しさん (ワッチョイ f5bb-nLHG)
2018/01/20(土) 06:49:10.98ID:JEi/sl9H0 その前にさ
size_tでないならじゃあ何型であるべきだと思っているんだ?
displacement(base + index)というアドレス計算のindexに当たるところだが
size_tでないならじゃあ何型であるべきだと思っているんだ?
displacement(base + index)というアドレス計算のindexに当たるところだが
994デフォルトの名無しさん
2018/01/20(土) 06:51:43.72 >>993
誰もそこは問題にしてないだろ
誰もそこは問題にしてないだろ
995デフォルトの名無しさん (ワッチョイ f5bb-nLHG)
2018/01/20(土) 07:49:40.98ID:JEi/sl9H0996デフォルトの名無しさん (ワッチョイ 8576-3us9)
2018/01/20(土) 08:37:45.07ID:y71EKvJV0 遅くなる可能性はある
遅くなったとしても微妙
というのが回答
遅くなったとしても微妙
というのが回答
997デフォルトの名無しさん (ワッチョイ 8576-3us9)
2018/01/20(土) 08:45:09.85ID:y71EKvJV0 [ ] のコストが問題で高速化したいなら
data() で生ポで扱うとか
アセンブラを使うとか
ループアンロールとか
複数ループの結合とか
まあ色々とテクニックはある
マルチスレッド化、GPU利用、アルゴリズム改善...
など、もっと大きなレベルの最適化も
data() で生ポで扱うとか
アセンブラを使うとか
ループアンロールとか
複数ループの結合とか
まあ色々とテクニックはある
マルチスレッド化、GPU利用、アルゴリズム改善...
など、もっと大きなレベルの最適化も
998デフォルトの名無しさん (ワッチョイ 8576-3us9)
2018/01/20(土) 08:46:28.85ID:y71EKvJV0 [ ] のコストが問題になるのは非常に小さなループだろうから
型くらいはコンパイラが勝手に最適化するのが普通
型くらいはコンパイラが勝手に最適化するのが普通
999デフォルトの名無しさん (ワッチョイ 8576-3us9)
2018/01/20(土) 08:48:22.54ID:y71EKvJV0 実際に問題になっている事が確かめられて無いのなら
最適化しないで普通にコードを書いた方が良い
見やすさ、変更のしやすさ、移植性、バグの出にくさ、...
などの理由で
最適化しないで普通にコードを書いた方が良い
見やすさ、変更のしやすさ、移植性、バグの出にくさ、...
などの理由で
1000デフォルトの名無しさん (ワッチョイ 8576-3us9)
2018/01/20(土) 08:53:39.66ID:y71EKvJV0 >>993
アホ
アホ
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 56日 16時間 0分 49秒
新しいスレッドを立ててください。
life time: 56日 16時間 0分 49秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化へ 過去10年間に使用のメールアドレスや電話番号等も★2 [Hitzeschleier★]
- 立憲・小宮山議員、「牛乳=白い水」投稿を削除 批判殺到で「大変失礼申し上げました」 [少考さん★]
- 【中国外務省】日本への渡航自粛を再度呼びかけ 今度は「地震発生」を理由に [ぐれ★]
- 日本語が話せない「外国籍」の子が急増中、授業がストップ、教室から脱走も…先生にも大きな負担「日本語支援」追いつかず★3 [七波羅探題★]
- 内閣支持、微減59.9% 5割超が補正予算評価 時事通信世論調査 [どどん★]
- 【芸能】デパートで見つけたランドセルが衝撃価格! つまみ枝豆「どこかで規制しないと」に共感の声殺到 「全て同感」「高すぎます」★2 [冬月記者★]
- 正月に帰省すると親戚のガキが「安倍ちゃんは10万くれたけどおじちゃんは何円くれるの?」とか言ってくるんだよな [695089791]
- 日本人のコメ離れが深刻、おまえらなんでコメ食わないんだ??? [974680522]
- 自民党のヒゲ「トランプおやびんが中国に何も言ってくれない」 [834922174]
- キャンプ場 寝ている少女(19)のテントに入り120分わいせつ行為をした会社員(45)を逮捕 京都市 [546716239]
- 日本人、世界で最もブランドに興味なし🇯🇵 [462275543]
- お昼のまったり🍵😶‍🌫🤏すこすこハウス🏡
