※前スレ
C++相談室 part153
https://mevius.5ch.net/test/read.cgi/tech/1602339500/
テンプレここまで
探検
C++相談室 part154
■ このスレッドは過去ログ倉庫に格納されています
2021/01/08(金) 17:54:00.55ID:0DW9z0rL
686デフォルトの名無しさん
2021/02/10(水) 18:41:41.17ID:FGGGEnfF Perlなら問題無くできる(continue→next、だが
C++規格委員会がfor_eachのcontinueを許可しないのは最後の一線なのかもしれん…
C++規格委員会がfor_eachのcontinueを許可しないのは最後の一線なのかもしれん…
687デフォルトの名無しさん
2021/02/10(水) 19:51:57.06ID:teDb7k99 何の一線よ
688デフォルトの名無しさん
2021/02/10(水) 20:18:41.39ID:ln/pLvjf いやreturnでいいだろ…
許可しないってなんのことだよ
許可しないってなんのことだよ
689デフォルトの名無しさん
2021/02/10(水) 21:21:18.68ID:+e+FbMSY vectorで一億件ほどで、飛ばしたいのが100〜1000件程度なんだろう
690デフォルトの名無しさん
2021/02/10(水) 21:51:25.56ID:QYfnOwKH >>679
for_eachをrange based forに変更は出来ないの?
for_eachをrange based forに変更は出来ないの?
691デフォルトの名無しさん
2021/02/10(水) 21:59:01.21ID:ZYaksnCf >>690
おまえのスキルのためにか?
おまえのスキルのためにか?
692デフォルトの名無しさん
2021/02/10(水) 22:17:23.69ID:qtVJ0qYe range based forなら普通にcontinueできるぞ
693デフォルトの名無しさん
2021/02/10(水) 22:18:26.21ID:ln/pLvjf >>689
飛ばす手段があったとして、飛ばすかどうかどこでどう判断するの?
飛ばす手段があったとして、飛ばすかどうかどこでどう判断するの?
694デフォルトの名無しさん
2021/02/11(木) 04:16:42.30ID:nrDdTgaQ early returnは正義
695デフォルトの名無しさん
2021/02/11(木) 11:22:44.35ID:n0GRjtoR >>685
テンプレのときとか
テンプレのときとか
696デフォルトの名無しさん
2021/02/11(木) 17:53:02.68ID:Iq2aKjep 679がなぜfor_eachを使うのかを無視するのは
他人の領分を侵すお節介だ
for_eachの使い方をアドバイスできんやつは
しゃしゃり出てくるな
他人の領分を侵すお節介だ
for_eachの使い方をアドバイスできんやつは
しゃしゃり出てくるな
697デフォルトの名無しさん
2021/02/11(木) 18:00:13.22ID:hRfccug1 よくよく話を聞いてみたらまるで異なる解決策が見つかるなんてよくあることじゃん。そんな経験ないの?
何をしたかったか確認するのは重要
何をしたかったか確認するのは重要
698デフォルトの名無しさん
2021/02/11(木) 18:15:41.21ID:Iq2aKjep 流れをよく読んでみろよ
for_eachをロクに使ってないやつなのモロバレだろ
質問者が尋ねていないことを答えたいから協力しろなんてぬかすのは
回答者の資格ねえんだよ
for_eachをロクに使ってないやつなのモロバレだろ
質問者が尋ねていないことを答えたいから協力しろなんてぬかすのは
回答者の資格ねえんだよ
699デフォルトの名無しさん
2021/02/11(木) 18:18:25.32ID:Iq2aKjep 自分が何か尋ねているときに
質問内容に付き合ってやれる懐のねえやつは
うぜえだけだろが
質問内容に付き合ってやれる懐のねえやつは
うぜえだけだろが
700デフォルトの名無しさん
2021/02/11(木) 18:23:57.31ID:Iq2aKjep 質問内容において自分より下なやつに教えを請いたいかよ
701デフォルトの名無しさん
2021/02/11(木) 18:34:11.92ID:hRfccug1 for_eachを使う場合の答えはとっくに出てるのに何言ってんの?
702デフォルトの名無しさん
2021/02/11(木) 19:17:08.97ID:15xoUz1R 3のその他で答えただけ。
703デフォルトの名無しさん
2021/02/11(木) 20:01:29.92ID:veopzNW6 他人の領分なんて侵してナンボ
704デフォルトの名無しさん
2021/02/11(木) 20:03:18.37ID:qccRsQET >>702
はあ?returnではいけない理由は?
はあ?returnではいけない理由は?
705デフォルトの名無しさん
2021/02/11(木) 20:19:00.69ID:a/CQbB/Z >>679はループしたいだけだろ
std::for_eachを何が何でも使わなければならない特殊な事情があるなら仕方ないけどそんなこと言ってないし
std::for_eachを何が何でも使わなければならない特殊な事情があるなら仕方ないけどそんなこと言ってないし
706デフォルトの名無しさん
2021/02/11(木) 20:23:31.36ID:nDjPJyoP >>704
returnで良いと思うよ。
returnで良いと思うよ。
707デフォルトの名無しさん
2021/02/11(木) 20:50:06.93ID:Iq2aKjep >>701
680は俺だが何言ってんの?
680は俺だが何言ってんの?
708デフォルトの名無しさん
2021/02/11(木) 21:58:36.08ID:bviF/sLG Visual Studio 2010(MSVC2010)で
template<class T>
void foo(T x) {
printf("%d: %d\n", targetEntity, x);
}
という関数テンプレートが定義されているときに、
namespace bar { const int targetEntity = 1; }
using bar::targetEntity;
void baz() { foo(100); }
はコンパイルが通るのに、
namespace bar { const int targetEntity = 1; }
void baz() {
using bar::targetEntity;
foo(100);
}
だと
error C2065: 'targetEntity': 定義されていない識別子です。
と言われるorz
template<class T>
void foo(T x) {
printf("%d: %d\n", targetEntity, x);
}
という関数テンプレートが定義されているときに、
namespace bar { const int targetEntity = 1; }
using bar::targetEntity;
void baz() { foo(100); }
はコンパイルが通るのに、
namespace bar { const int targetEntity = 1; }
void baz() {
using bar::targetEntity;
foo(100);
}
だと
error C2065: 'targetEntity': 定義されていない識別子です。
と言われるorz
709デフォルトの名無しさん
2021/02/11(木) 22:06:56.76ID:bviF/sLG710デフォルトの名無しさん
2021/02/11(木) 23:28:48.49ID:Ooe4jkn9 >>707
アンパンマンはキミだ。
アンパンマンはキミだ。
711はちみつ餃子 ◆8X2XSCHEME
2021/02/12(金) 01:36:02.90ID:2OOQ6m86 >>708
宣言の有効範囲は宣言された場所からその宣言を含むブロックの終わりまでというのが原則
(クラススコープなどの例外はあるのでその他にも関連するルールはあるかもしれんけど)
なのでどちらもエラーになるのが筋だと思うし、 gcc や clang で試したらどっちもエラーだった。
逆にどういう理屈で前者が通るのかは気になる。
宣言の有効範囲は宣言された場所からその宣言を含むブロックの終わりまでというのが原則
(クラススコープなどの例外はあるのでその他にも関連するルールはあるかもしれんけど)
なのでどちらもエラーになるのが筋だと思うし、 gcc や clang で試したらどっちもエラーだった。
逆にどういう理屈で前者が通るのかは気になる。
712デフォルトの名無しさん
2021/02/12(金) 06:02:20.64ID:45Tu3B4L713デフォルトの名無しさん
2021/02/12(金) 06:03:16.30ID:45Tu3B4L - barよりも後方
+ usingよりも後方
+ usingよりも後方
714デフォルトの名無しさん
2021/02/12(金) 07:01:12.63ID:3x5iWh5q 確かにideoneでもVS2019でも両方エラーになるのですだが、
1番目の例はVS2010ではビルドも通って動くもーん
ソース:
https://ideone.com/DC8fMv
実行結果(※ VS2010限定):
1: 100
続行するには何かキーを押してください . . .
1番目の例はVS2010ではビルドも通って動くもーん
ソース:
https://ideone.com/DC8fMv
実行結果(※ VS2010限定):
1: 100
続行するには何かキーを押してください . . .
715デフォルトの名無しさん
2021/02/12(金) 07:04:11.00ID:3x5iWh5q ちな関数テンプレートfoo()の定義をusingよりも後方にしたら全てでビルドが通って動く
まそりゃーそうならないとおかしいが
まそりゃーそうならないとおかしいが
716デフォルトの名無しさん
2021/02/12(金) 07:12:42.48ID:45Tu3B4L717デフォルトの名無しさん
2021/02/12(金) 07:17:08.75ID:3x5iWh5q718デフォルトの名無しさん
2021/02/12(金) 07:24:49.77ID:45Tu3B4L だから何?
ill-formedなのがわかっても自分が正しいと強弁したいのか?
ill-formedなのがわかっても自分が正しいと強弁したいのか?
719デフォルトの名無しさん
2021/02/12(金) 07:27:26.57ID:3x5iWh5q720デフォルトの名無しさん
2021/02/12(金) 07:32:07.63ID:45Tu3B4L 覆った?
おまえVS2010限定で逃げただろ
ill-formedはill-formed
これを覆せたら出直して来な
おまえVS2010限定で逃げただろ
ill-formedはill-formed
これを覆せたら出直して来な
721デフォルトの名無しさん
2021/02/12(金) 07:34:53.80ID:45Tu3B4L 俺も昔のバージョンのコンパイラは使うがバグ技は使わないし
そういうことをする厨二病とは組みたくない
そういうことをする厨二病とは組みたくない
722デフォルトの名無しさん
2021/02/12(金) 07:38:38.54ID:3x5iWh5q >おまえVS2010限定で逃げただろ
VS2010ではビルドが通るというのが話の発端なので…
1番目の例がill-formedであろう点は同意
VS2010ではビルドが通るというのが話の発端なので…
1番目の例がill-formedであろう点は同意
723デフォルトの名無しさん
2021/02/12(金) 07:51:23.22ID:45Tu3B4L orzなんだろ
何が誰が悪いのかわかったら素直になれよ
居直る態度が気に入らねえ
何が誰が悪いのかわかったら素直になれよ
居直る態度が気に入らねえ
724デフォルトの名無しさん
2021/02/12(金) 08:12:22.74ID:3x5iWh5q 何が悪いのか、はともかく
誰が悪いのかとは一体…
つか現象(事実)の提示に対してそれを反発と解釈して勝手に炎上しないでいただきたい;;;
個人的にはVS2010のバグである可能性でほぼ確定とは思いつつ、
例1と例2で動きが違うことから、MSVC2010は、グローバルなシンボルについて
template foo()や関数baz()の中の解釈に入る前に名前空間を確定させる実装なのだと感じる
(template foo()の解釈ロジック自体にバグがあるなら例1、2とも同じ結果になるのが自然
再発防止のためには、C++規格のどこをどう読めば良いんじゃorz
誰が悪いのかとは一体…
つか現象(事実)の提示に対してそれを反発と解釈して勝手に炎上しないでいただきたい;;;
個人的にはVS2010のバグである可能性でほぼ確定とは思いつつ、
例1と例2で動きが違うことから、MSVC2010は、グローバルなシンボルについて
template foo()や関数baz()の中の解釈に入る前に名前空間を確定させる実装なのだと感じる
(template foo()の解釈ロジック自体にバグがあるなら例1、2とも同じ結果になるのが自然
再発防止のためには、C++規格のどこをどう読めば良いんじゃorz
725デフォルトの名無しさん
2021/02/12(金) 08:57:55.62ID:45Tu3B4L726デフォルトの名無しさん
2021/02/12(金) 10:26:37.15ID:1W1GlA05 匿名掲示板で誰が何を言ったのどうのとみっともないぞデフォルトの名無しさんよ
727デフォルトの名無しさん
2021/02/12(金) 11:29:35.12ID:jxDcSv/l728デフォルトの名無しさん
2021/02/12(金) 13:22:44.45ID:x9NfpsA7 匿名でも江副とかQZとか片山やはちみつが糞なのは伝わってくるω
729デフォルトの名無しさん
2021/02/12(金) 18:24:14.30ID:45Tu3B4L 単発IDになりやがった
どこまでも腐ってやがるな
どこまでも腐ってやがるな
730蟻人間 ◆T6xkBnTXz7B0
2021/02/12(金) 19:12:56.39ID:fTOQtm+W どこでも動くように標準化しましょうねって話だよね。
731蟻人間 ◆T6xkBnTXz7B0
2021/02/12(金) 19:29:19.43ID:WC9JZZt5 G++とかclang++などの複数のコンパイラで警告最大にして自動ビルドすれば再発防止できると思われます。
732デフォルトの名無しさん
2021/02/12(金) 19:37:54.63ID:3abO7oQ0 流れをぶった切って質問です。
あるクラスで生成、削除を一切合切プライベートにしたい(ファクトリメソッドでスマートポインタを渡す)んだけど、
::deleteを対象クラスだけプライベート、あるいはコンパイルエラーにする
ことって可能かしらん?
あるクラスで生成、削除を一切合切プライベートにしたい(ファクトリメソッドでスマートポインタを渡す)んだけど、
::deleteを対象クラスだけプライベート、あるいはコンパイルエラーにする
ことって可能かしらん?
733蟻人間 ◆T6xkBnTXz7B0
2021/02/12(金) 19:46:11.11ID:WC9JZZt5734蟻人間 ◆T6xkBnTXz7B0
2021/02/12(金) 19:55:37.68ID:fTOQtm+W dtorはデストラクターの略ね。
死のトラクターじゃないよ。
死のトラクターじゃないよ。
735デフォルトの名無しさん
2021/02/13(土) 02:57:21.77ID:ZCgeuP6g 映画化決定。
>>728
私が馬鹿なのは私自身が認めていることですが、片山さんはすごいと思いますよ、何よりも片山さんは多産ですし、私は片山さんを尊敬しています‥‥
私が馬鹿なのは私自身が認めていることですが、片山さんはすごいと思いますよ、何よりも片山さんは多産ですし、私は片山さんを尊敬しています‥‥
737デフォルトの名無しさん
2021/02/15(月) 12:30:59.56ID:tZ1nblID738デフォルトの名無しさん
2021/02/16(火) 18:45:49.14ID:zTH+X1Xm739デフォルトの名無しさん
2021/02/16(火) 18:59:33.07ID:zTH+X1Xm つかprivate dtorって何の解決にもなって
なくね?
クラスFooのデストラがprivateな時点で
Fooのfirendでも何でもないstd::shared_ptr<Foo>はビルドエラーになる宿命なのでは…
あとp.get()->Delete()とされるのも恐ろしいすぐる………
なくね?
クラスFooのデストラがprivateな時点で
Fooのfirendでも何でもないstd::shared_ptr<Foo>はビルドエラーになる宿命なのでは…
あとp.get()->Delete()とされるのも恐ろしいすぐる………
740デフォルトの名無しさん
2021/02/16(火) 19:15:28.82ID:Pme6j5oX741デフォルトの名無しさん
2021/02/17(水) 08:24:04.17ID:Pn/OWNHb operator <=>を定義しても
==と!=が使えるようにならないのは、なんで?
==と!=が使えるようにならないのは、なんで?
742デフォルトの名無しさん
2021/02/17(水) 11:29:34.99ID:u6Au0MiC https://cpprefjp.github.io/lang/cpp20/consistent_comparison.html
のoperator==節で仕様とその理由についても説明してあります
のoperator==節で仕様とその理由についても説明してあります
743デフォルトの名無しさん
2021/02/17(水) 12:05:07.17ID:8kTif7Fu relops
744デフォルトの名無しさん
2021/02/17(水) 12:07:48.78ID:ZhVk2C4b relops
745デフォルトの名無しさん
2021/02/17(水) 12:14:57.71ID:7xS0C1vs なるほどわからん。弱順序って何よ?
746デフォルトの名無しさん
2021/02/17(水) 13:36:33.88ID:peDNmUYI >>745
二項関係で、反射律、推移律、比較可能性を満たすもの
二項関係で、反射律、推移律、比較可能性を満たすもの
748デフォルトの名無しさん
2021/02/17(水) 23:46:57.44ID:ZhVk2C4b 普通に言葉通り任意の2つの元を比較できるということなのでは…
木構造で「親は子より大きい」という順序を定義しただけ
(全順序集合(例えば整数)で全ノードをラベル付けしてしまうというチート手段に訴えことなく、
文字通り「if (aはbの親) { a > b; }」という規則と(a, b)の反射律、推移律を導入しただけ
では兄弟間の大小が定まらない、
みたいな
木構造で「親は子より大きい」という順序を定義しただけ
(全順序集合(例えば整数)で全ノードをラベル付けしてしまうというチート手段に訴えことなく、
文字通り「if (aはbの親) { a > b; }」という規則と(a, b)の反射律、推移律を導入しただけ
では兄弟間の大小が定まらない、
みたいな
749デフォルトの名無しさん
2021/02/17(水) 23:47:32.54ID:ZhVk2C4b のは半順序で、
整数みたいなやつが全順序
整数みたいなやつが全順序
750デフォルトの名無しさん
2021/02/17(水) 23:59:39.55ID:ZhVk2C4b なお{ 全順序集合 }⊂{ 半順序集合 }なのは確定的に明らかなので、
反射律・推移律だけしか要請されていなかったらそれは全順序集合の集合を含む半順序集合の集合の意味となりぬ
つまり全順序集合の集合と半順序集合の集合が区別できん
両社を区別したい議論のときは比較可能性の有無を宣明せねばならんぬ、
反射律・推移律だけしか要請されていなかったらそれは全順序集合の集合を含む半順序集合の集合の意味となりぬ
つまり全順序集合の集合と半順序集合の集合が区別できん
両社を区別したい議論のときは比較可能性の有無を宣明せねばならんぬ、
751デフォルトの名無しさん
2021/02/18(木) 00:34:07.44ID:48a8FzyN a≦b または b≦aが成り立つ時、比較可能
弱順序ってしらなかったけど、半順序とは違うようだ
「半順序?弱順序?二項関係・順序関係まとめ」って記事
弱順序ってしらなかったけど、半順序とは違うようだ
「半順序?弱順序?二項関係・順序関係まとめ」って記事
752デフォルトの名無しさん
2021/02/18(木) 03:35:31.61ID:sRdwF113 束論やってるけど弱順序とか初めて聞いた…
マ界用語?
マ界用語?
754デフォルトの名無しさん
2021/02/18(木) 10:08:01.17ID:48a8FzyN 弱順序は、半順序よりは制限強いが全順序より弱いもので、
ある種のソートアルゴリズムでは全順序よりは制限緩められるけど
半順序までは緩められない、ってのがあるみたいね
ある種のソートアルゴリズムでは全順序よりは制限緩められるけど
半順序までは緩められない、ってのがあるみたいね
755デフォルトの名無しさん
2021/02/18(木) 13:16:30.49ID:9Yl3mCZH >>752
束って何で勉強すればいいん?
束って何で勉強すればいいん?
756デフォルトの名無しさん
2021/02/18(木) 14:43:05.98ID:48a8FzyN アルゴリズムとの関連はちょっとわからんけど
数学としての束論って単独の本は少なくて、代数学の本に載ってるんじゃないかな
もしくは順序集合の話として集合論の本
数学としての束論って単独の本は少なくて、代数学の本に載ってるんじゃないかな
もしくは順序集合の話として集合論の本
>>748
>普通に言葉通り任意の2つの元を比較できるということなのでは…
いや、それは全順序ですよ
・擬順序
・順序
これらの演算子を≦としたとき、かならずしも任意の二元 a, b について a ≦ b の真偽が定まらなくてもいいと思います
擬順序に対して「a ≦ b かつ b ≦ a ならば a = b」という縛りが追加されるのが順序、
順序に対して、任意の二元 a, b について「a ≦ b」または「b ≦ a」のどちらかである、という縛りが要請されるのが全順序
だったかと
>普通に言葉通り任意の2つの元を比較できるということなのでは…
いや、それは全順序ですよ
・擬順序
・順序
これらの演算子を≦としたとき、かならずしも任意の二元 a, b について a ≦ b の真偽が定まらなくてもいいと思います
擬順序に対して「a ≦ b かつ b ≦ a ならば a = b」という縛りが追加されるのが順序、
順序に対して、任意の二元 a, b について「a ≦ b」または「b ≦ a」のどちらかである、という縛りが要請されるのが全順序
だったかと
758デフォルトの名無しさん
2021/02/19(金) 20:38:08.11ID:mpGE+xsF wikipediaの「推移関係」の項目より
半順序 - 反対称的な擬順序
擬順序 - 推移的であると同時に反射的
全擬順序 - 完全的な擬順序
同値関係 - 対称的な擬順序
厳密弱順序 - 強半順序関係で等価関係での比較が不可能な場合
全順序 - 推移的で反対称的な完全関係
全順序、半順序くらいしか知らんかった
半順序 - 反対称的な擬順序
擬順序 - 推移的であると同時に反射的
全擬順序 - 完全的な擬順序
同値関係 - 対称的な擬順序
厳密弱順序 - 強半順序関係で等価関係での比較が不可能な場合
全順序 - 推移的で反対称的な完全関係
全順序、半順序くらいしか知らんかった
759デフォルトの名無しさん
2021/02/19(金) 20:51:11.65ID:gWMDVcMR OOPの本だとサブクラス関係は前順序って書いてるよな?擬順序ともいうのか
推移的、A→B∧B→C |- A→C 、サブクラスのサブクラスはサブクラス
かつ反射的、AはAのサブクラス
推移的、A→B∧B→C |- A→C 、サブクラスのサブクラスはサブクラス
かつ反射的、AはAのサブクラス
760デフォルトの名無しさん
2021/02/19(金) 20:55:11.79ID:fAhRarpN >>760
一番弱い順序、推移的かつ反射的であるのみの順序関係は、実は任意の二項間においてかならずしも順序関係の真偽が定まらなくてもいいのですよ
すべての二項間で順序の真偽が定まるのは、順序の中でも一番強いものである全順序で初めて導入される、と私は解釈しています
一番弱い順序、推移的かつ反射的であるのみの順序関係は、実は任意の二項間においてかならずしも順序関係の真偽が定まらなくてもいいのですよ
すべての二項間で順序の真偽が定まるのは、順序の中でも一番強いものである全順序で初めて導入される、と私は解釈しています
762デフォルトの名無しさん
2021/02/19(金) 21:44:53.04ID:gWMDVcMR ブール代数 型システムで検索しても出てこないけど>>523
可補分配束の定義見てると確かにそんな気はしてくる
インスタンス関係かサブクラス関係なのか?どっちでも成り立ちそうだけど、取り敢えず静的チェックをパスすることを考える
要素が無いと言う意味でCのvoidを冪集合ブール代数の最小元、空集合とみなす
void *は何でも指せるという意味で最大元
まともな型システムなら(少なくとも)上記の擬順序以上は要求る
演算は多重継承とvirtual 定義が∨/∧に対応?クラス図書いてみたら成り立ちそうに思える
型チェック通らない全ての型を考えられるし、それが¬
型述語で定義してればそのまま!演算子になる
可補分配束の定義見てると確かにそんな気はしてくる
インスタンス関係かサブクラス関係なのか?どっちでも成り立ちそうだけど、取り敢えず静的チェックをパスすることを考える
要素が無いと言う意味でCのvoidを冪集合ブール代数の最小元、空集合とみなす
void *は何でも指せるという意味で最大元
まともな型システムなら(少なくとも)上記の擬順序以上は要求る
演算は多重継承とvirtual 定義が∨/∧に対応?クラス図書いてみたら成り立ちそうに思える
型チェック通らない全ての型を考えられるし、それが¬
型述語で定義してればそのまま!演算子になる
763デフォルトの名無しさん
2021/02/19(金) 21:55:14.25ID:gWMDVcMR 確証が持てなくてもどかしい…数学できる人ツッコミ待ち
とりあえずダイヤモンド継承を許さない言語だと、常に∧/∨は定義されないからブール代数にはならない事には気付いた
とりあえずダイヤモンド継承を許さない言語だと、常に∧/∨は定義されないからブール代数にはならない事には気付いた
764デフォルトの名無しさん
2021/02/19(金) 21:55:34.53ID:hHLb88jw ググってる時点で、というかそのことを隠しもしないニワカ
765デフォルトの名無しさん
2021/02/19(金) 21:56:36.22ID:gWMDVcMR >>764
隠して5chなんかで偉ぶってどうすんのさ
隠して5chなんかで偉ぶってどうすんのさ
766デフォルトの名無しさん
2021/02/19(金) 22:01:35.27ID:aORwmd7L 質問ですがムーブコンストラクタを有する基底クラスの
派生クラスでムーブコンストラクタを
派生クラスがムーブコンストラクトされる際に基底クラスにアクセスしようとする場合であっても
安全に書く方法って何かあるんでしたっけ
派生クラスでムーブコンストラクタを
派生クラスがムーブコンストラクトされる際に基底クラスにアクセスしようとする場合であっても
安全に書く方法って何かあるんでしたっけ
767デフォルトの名無しさん
2021/02/19(金) 22:03:03.40ID:6z9jMlRH 作ったクラスをmapにいれるときoperator<を書かなきゃいけないのがめんどい
768デフォルトの名無しさん
2021/02/19(金) 22:08:24.37ID:aORwmd7L あとムーブコンストラクタを有するクラスを
詳細を隠ぺいする目的でインターフェースを設けたとき
インターフェース経由でムーブコンストラクトする方法って何かあるんでしたっけ
アブストラクトファクトリイーを作るしか無い?
詳細を隠ぺいする目的でインターフェースを設けたとき
インターフェース経由でムーブコンストラクトする方法って何かあるんでしたっけ
アブストラクトファクトリイーを作るしか無い?
769デフォルトの名無しさん
2021/02/19(金) 22:11:39.72ID:aORwmd7L この場合アブストラクトファクトリイーといっても、元のクラスFooに対して
IFoo IFoo::move() { ... } が定義してあって
IFoo x = (適当な生成手段)
ののち、
IFoo y = x.move()
でxが破壊されるやつ!
IFoo IFoo::move() { ... } が定義してあって
IFoo x = (適当な生成手段)
ののち、
IFoo y = x.move()
でxが破壊されるやつ!
770デフォルトの名無しさん
2021/02/19(金) 22:36:29.47ID:F7SsNRLa それインターフェースとして使えてないよ
771デフォルトの名無しさん
2021/02/20(土) 00:40:16.16ID:iK8Sr3o/ 領域が連続しているコンテナなら何でも良いんですが、たとえば array<T> a を vector< vector<T> > b に n 要素分コピーしたいときって
memcpy(b.data(), a.data(), n*sezeof(T))
で良いんですかね?
UNIXコマンドと順番が違ったりして間違えそうなのですが、他に良いやり方ありますか
memcpy(b.data(), a.data(), n*sezeof(T))
で良いんですかね?
UNIXコマンドと順番が違ったりして間違えそうなのですが、他に良いやり方ありますか
772デフォルトの名無しさん
2021/02/20(土) 01:38:00.62ID:YJV0xwOV >>771
ド素人かよ
ド素人かよ
773デフォルトの名無しさん
2021/02/20(土) 01:42:23.87ID:upzAgg50 >>771
領域確保されてるならたぶんそれが最速だけど、普通はstd::copyかな
領域確保されてるならたぶんそれが最速だけど、普通はstd::copyかな
774デフォルトの名無しさん
2021/02/20(土) 08:11:48.90ID:BRyl48dG775デフォルトの名無しさん
2021/02/20(土) 11:17:36.76ID:ZF+WEG2v 半順序とかいう訳が悪い
英語のpartial orderの方が分かりやすい
英語のpartial orderの方が分かりやすい
777デフォルトの名無しさん
2021/02/20(土) 11:30:33.89ID:ec7b4JGn あとは裁判で争うしかないでしょうね。
我々には判決が出せませんから。
我々には判決が出せませんから。
778はちみつ餃子 ◆8X2XSCHEME
2021/02/20(土) 11:52:10.16ID:N5IkYQZo >>771
前提条件として
・ T の型が trivially copyable である
・ vector の大きさが必要な大きさ分に出来ている
ならそれでもいいよ。
でも、 C の関数を C++ でも使えるのはほとんどが互換性のためでしかなく、
作法的にはあまり使わないに越したことは無いって感じ。
前提条件として
・ T の型が trivially copyable である
・ vector の大きさが必要な大きさ分に出来ている
ならそれでもいいよ。
でも、 C の関数を C++ でも使えるのはほとんどが互換性のためでしかなく、
作法的にはあまり使わないに越したことは無いって感じ。
779はちみつ餃子 ◆8X2XSCHEME
2021/02/20(土) 11:56:56.24ID:N5IkYQZo780デフォルトの名無しさん
2021/02/20(土) 12:51:28.34ID:K0wy5MAI781デフォルトの名無しさん
2021/02/20(土) 14:23:36.69ID:XZPJJfWU782デフォルトの名無しさん
2021/02/20(土) 14:39:27.43ID:ZF+WEG2v vectorのvectorの中身はサイズ値とバッファポインタが連続で並んでるだろうな
783デフォルトの名無しさん
2021/02/20(土) 14:57:30.99ID:upzAgg50784はちみつ餃子 ◆8X2XSCHEME
2021/02/20(土) 15:27:01.55ID:N5IkYQZo785デフォルトの名無しさん
2021/02/20(土) 16:22:37.93ID:UDAFNKrx ほらCと同じ基本の部分を教えずにいきなりSTLとか勧めるからこういう初心者が出てくる・・
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【STARTO ENTERTAINMENT】timelesz篠塚大輝『大きな古時計』替え歌一発ギャグ「今はもう動かない おじいさんにトドメ~♪」が波紋 [Ailuropoda melanoleuca★]
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【実況】博衣こよりのえちえち歌枠🧪
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- たまにaカップの女いるけど何を楽しめばいいの?
