[過去ログ] C++相談室 part157 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
53(1): 2021/08/10(火)23:34 ID:5fGESjxl(1) AAS
他の言語にはスレッド実行中か判定するAPIあるしstd::thread作った人達だってそのくらいのこと知ってたでしょ
boost::thread時代にそういった要望もあっただろうし
それでもあえてstd::threadにはスレッド実行中を調べる機能を付けなかった
本質的に必要な機能ではないと判断したんじゃないの?
54: 2021/08/10(火)23:44 ID:rk6SLsdN(2/2) AAS
スレッドそのものの終了状態を知る需要はあまりなく、スレッド内で行われるユーザー定義処理が終わったかどうかが重要だからでしょ
55(1): 2021/08/10(火)23:50 ID:Lbev+Y0v(3/3) AAS
>>47
>起こす対象のスレッドが何をしているのかについて常に配慮が居るということをご理解いただけるのではないかと思う
それがwaitで待っている状態かそうでないかを意味しているんだとしたらそれは正しくない。
チェックした次の瞬間にwaitする可能性もあるわけなんで。
56(1): 2021/08/11(水)01:24 ID:qkzYmFIh(1/2) AAS
>>55
>チェックした次の瞬間にwaitする可能性もあるわけなんで。
無い
チェックと処置をmutexによる単一のロック期間の中でアトミックに行うのだから>>55は全くナンセンスな問題提起
>>53
thread::joinable()があることは書いたもーん
57: 2021/08/11(水)01:28 ID:qkzYmFIh(2/2) AAS
問題だらけだった@IT様のサンプルコードだけど
これまともに実装するとしたら条件変数をConsumer x NとProducerの計N+1個設けて、
さらにConsumerそれぞれが待っているのか動いているのかを示すフラグを設けて
全部動いていたらProducerを待たせる
Consumerが待ちに入る直前にProducerにnotifyかけてキックする、みたいな
スレッドプールを手で実装するみたいな話になりそう……
でここまでやるならConsumerの状態変数が実体としてコードに現れる
58(1): 2021/08/11(水)01:44 ID:01hIEDa4(1/2) AAS
何を主張したくてごちゃごちゃ言ってるのかさっぱり見えないし途中で変わったりしてるようでもあるので、
続けるならそもそもどういう主張をしているのかいっぺんまとめてほしい。
59(1): 2021/08/11(水)08:13 ID:SyYdmIb8(1/2) AAS
>>56
std::threadから取得する「スレッドの実行状態」の話をしているんだが。
それをmutexでアトミックに操作する???
60(1): 2021/08/11(水)09:56 ID:8ERcfmko(1) AAS
C++ってiPhoneアプリ作れる?
61: 2021/08/11(水)12:11 ID:sOdrsbt7(1/2) AAS
>>60
作れる。QtやUnityで。
62: 2021/08/11(水)12:13 ID:sOdrsbt7(2/2) AAS
iPhone専用でいいなら、そもそも、Appleが提供している標準開発環境だけでも
C++で作れる。
iPhoneの標準開発言語はSwiftだが、SwiftはC++と相互に呼び出せるから。
ただし、それだけだと面倒かも知れない。
そういう場合は、Qtで作れば。
63(1): 2021/08/11(水)12:52 ID:MU7UJMps(1/2) AAS
std::vector で insert するとき
v.insert(v.begin() + n, hoge);
とかすると思いますが
このときの n の型って何ですか?
int ?
unsigned long ?
size_t ?
あとこういう型を調べるときって
vector のどことか iterator のどこを調べると判りますか?
64(1): 2021/08/11(水)13:03 ID:19rzwYjH(1/2) AAS
22.3.11 Class Template vector
23.3.11.1 Overview
3
using iterator = implementation-defined; //see 22.2
となっていて、std::vector::iteratorの型は処理系定義だね
現物で調べるならVisual Studioの[F12]が簡単だと思う
65(1): 2021/08/11(水)14:01 ID:OqxISI0I(1/2) AAS
>>59
ID:W7aMf5pX = ID:qkzYmFIh はスレッドの状態として
・その瞬間の状態: Run/Ready/Wait/...
・終了してるかどうか: thread::joinable で取得できる
を混同してる(わざとかどうかは知らんが)
あと条件変数とスレッドの状態も混同してるので
> チェックと処置をmutexによる単一のロック期間の中でアトミックに行うのだから
なんて意味不明なことを言い出してる
これ以上続けるなら>>58が言うように本人にまとめてもらわないとますますグダグダになるだけだと思う
66(2): 2021/08/11(水)14:15 ID:EWMgwFeS(1/3) AAS
std::thread使ったことないから自信無くて黙ってたけど
thread::joinable()って別にスレッドが終了したかの判定ではなくない?
他スレッドでの実行を管理していない状態の(空の)オブジェクトが作れるから、そういう空の状態かどうかの判定関数であるように読めた
fstream::is_open()的な……
67(1): 2021/08/11(水)14:23 ID:01hIEDa4(2/2) AAS
>>63
暗黙変換があるから n の型としてはすべての整数型があり得る。
基本的には、生ポインタで実装される可能性もあるものなので ptrdiff_t だと思っておけばいい。
正確な型が必要なら difference_type とか iter_difference_t とかで調べればわかる。
68(1): 2021/08/11(水)14:56 ID:OqxISI0I(2/2) AAS
>>66
> thread::joinable()って別にスレッドが終了したかの判定ではなくない?
もちろん正確にはスレッド変数がスレッドと関連づいてるかどうかの判定
彼は>>35辺りでスレッド終了判定と思い込んでるフシが見られるのでそう書いてある
69(2): 2021/08/11(水)15:08 ID:MU7UJMps(2/2) AAS
>>67
ありがとうございます
>>64
>現物で調べるならVisual Studioの[F12]が簡単だと思う
それで判るのは自分で定義した可能性の高い n の型ですよね?
知りたいのは v.begin() + n に要求されている型のことです
70: 2021/08/11(水)15:28 ID:EWMgwFeS(2/3) AAS
>>68
やっぱりそうですよね
じゃあ>>65の2個目の中黒の内容については引用??
例のコードではjoinableなんか使ってないし>>7が書いたのを試しもせずに真に受けた感じなのかな
71(1): 2021/08/11(水)15:29 ID:EWMgwFeS(3/3) AAS
>>69
v.begin().operator+(n)とでも書き換えてoperator+で[F12]しろということではなかろうか
72: はちみつ餃子 ◆8X2XSCHEME 2021/08/11(水)15:43 ID:QcAq7ivU(1) AAS
>>69
ランダムアクセスイテレータには difference_type (またはそれに暗黙に型変換出来る何か) を足すことができて、
その結果の型はイテレータ自身と同じ。
外部リンク:timsong-cpp.github.io
73: 2021/08/11(水)15:52 ID:SyYdmIb8(2/2) AAS
>>66
>thread::joinable()って別にスレッドが終了したかの判定ではなくない?
実際にそのスレッドが実行中か待ちか終了しているかを表しているわけじゃないことはその通り。
で、たぶんそれで十分だからjoinable以上の機能は用意されなかった。
ところがそれが役に立つ場面があるよと言ったのが前スレ>>997
このスレの>>35と同一人物かどうかは知らんが。
74: 2021/08/11(水)15:54 ID:19rzwYjH(2/2) AAS
>>71
そういうこと
75(2): 2021/08/13(金)02:38 ID:tLa9gek2(1/2) AAS
char *mystrcat(char *a, char *b)
{
// a に b を結合して
return a;
}
みたいな関数を
shared_ptr<char *> mystrcat(shared_ptr<char *> a, char *b)
{
// a に b を結合して
return a;
省7
76: 2021/08/13(金)02:56 ID:nopi39s7(1) AAS
>>75
shared_ptr<char *> だと、たぶんやりたいことはできてない。
shared_ptr<char[]> の間違いなんだろうと思うけど、この時点でコンパイルすら試してないのが見て取れる。
参照カウンタの動きは挙げられたソースだけじゃ読み取れないけど、無限に増えるなんてことはまず起こらない。
shared_ptr の use_count() で取れるから試してみればいい。
問題があるかどうかも自分で試してみればいい。何を「問題」とするかこちらにはわからないし。
77: 2021/08/13(金)09:51 ID:BE9FMbqU(1) AAS
個別の事例で心配ない、問題ないという返答を得たとしても理解が深まらない。
shared_ptr のメカニズムを理解できないと何度でも心配になるだけ。
どういう理屈で参照カウンタが無限に増えると思ったのかを説明してみて。
考え方に間違いがあれば指摘するよ。
78: 2021/08/13(金)11:40 ID:UG8FRdqC(1) AAS
char *mystrcat(char *a, char *b)
{
// a に b を結合して
return make_shared<char []>(a);
}
じゃいかんの
しらんけど
79: 2021/08/13(金)14:30 ID:vEVo7A6C(1) AAS
適当な質問者と適当な回答者
ゴミとゴミをあわせてもゴミはゴミ
80: 2021/08/13(金)18:27 ID:tLa9gek2(2/2) AAS
shared_ptr<char []> c(a);
return &c[0];
81(1): 2021/08/14(土)08:57 ID:dlgzlAXX(1) AAS
namespaceってどのように使うものなんですか?
存在意義がわからない。
82: 2021/08/14(土)09:56 ID:2Gpa2MRC(1) AAS
>>81
大規模ライブラリを設計するときに重宝する機能
詳しい経緯は知らないがグローバルスコープの識別子名の競合を回避する目的で導入されたと思う
namespaceがないC言語時代にいくつからの大規模ライブラリを組み合わせたときに何が起きがちだったか知っていれば納得出来るはず
どんな機能もそうだが、自分が必要と思った時に使えば良いだけだよ
存在意義が分からないならお前にとっては必要のない機能ということだから、気にする必要はない
83(3): 2021/08/14(土)10:45 ID:MjnqNUAd(1/2) AAS
Cにnamespaceが導入されないのは何故なんです?
84: 2021/08/14(土)10:48 ID:isR1pnnS(1) AAS
>>75
蛇足だけど、理由がなければshared_ptr<char[]>の代わりにshared_ptr<str>にしたほうがいいな。
// a に b を結合して
return a
がすごく怖い。
85: 2021/08/14(土)11:05 ID:HmVXtcJk(1/4) AAS
>>83
namespace
86: 2021/08/14(土)11:07 ID:HmVXtcJk(2/4) AAS
>>83
namespaceを導入するということは :: だのマングリングだのADLだの色々付いてくるからな
87: 2021/08/14(土)11:09 ID:sh47n3w4(1/3) AAS
>>83
マングリングが必要になってしまうから、ってのが大きいだろうな。
88(1): 2021/08/14(土)11:16 ID:Wd8wuOU/(1) AAS
C++を本格的に学ぼうと思って本を数冊買ったが、言語仕様が複雑な割には知らないとエラー起こすだろ
っていう項目が多くてビビってる。あと、きれいなコードを書くのに尋常じゃない経験が必要なんじゃないか
89: はちみつ餃子 ◆8X2XSCHEME 2021/08/14(土)11:34 ID:xM4RG8+9(1) AAS
全部知らなくてもわかる部分だけでまあまあ使えるというのが C++ の方針なので
最初から綺麗に書こうと思わないほうがいいと思う。
綺麗に書けないと考えるより汚くても普通なんだと考えると気が楽でしょ。
90: 2021/08/14(土)11:41 ID:HmVXtcJk(3/4) AAS
構造体の中に関数が書ける、というコアの中のコアな部分の使い方・考え方さえ憶えるというより慣れれば
あと他のは追加で憶えればいいってだけ
ただし、その追加が今とんでもない量になってて
禿本の初版からやってる俺でさえ憶えきれなくてもがいてる
91: 2021/08/14(土)11:47 ID:fhp8ilcT(1/4) AAS
いいかい学生さん、 他人のコードをな、 他人のコードをいつでも読めるくらいになりなよ。
それが、人間えら過ぎもしない貧乏過ぎもしない、 ちょうどいいくらいってとこなんだ。
92: 2021/08/14(土)13:15 ID:MjnqNUAd(2/2) AAS
>>88
エラーが起こったらまだマシだな
イクときはだまってイクからな
93(1): 2021/08/14(土)13:23 ID:sh47n3w4(2/3) AAS
他人のコードを読んで学ぶのに一番向いてない言語だよなC++は。
94: 2021/08/14(土)13:48 ID:fhp8ilcT(2/4) AAS
オーバーロードが悪いんですよ
95: 2021/08/14(土)14:19 ID:EcmTnCEO(1) AAS
>>93
perl に比べたらまだマシ
96: 2021/08/14(土)17:38 ID:sh47n3w4(3/3) AAS
perlは文法が複雑なだけで、知らない書き方に出会ったらそれを調べればいい。
C++はコードの断片だけ見ても動作を想像できないことがあるから厄介。
97: 2021/08/14(土)18:45 ID:lbIZmRLc(1) AAS
ぶっちゃけスマートポインターって面倒だよね?
98(1): 2021/08/14(土)18:54 ID:fhp8ilcT(3/4) AAS
スマポに限らず面倒なテンプレートクラスだらけだよ
99: 2021/08/14(土)18:56 ID:fRH2bKcn(1) AAS
ぶっちゃけどんなときに面倒だと感じる?
100: 2021/08/14(土)19:58 ID:x6Wgppy9(1) AAS
スマートポインタに慣れたら自分で解放しなきゃならないmallocやnewの方がよっぽど面倒
101: 2021/08/14(土)20:04 ID:HmVXtcJk(4/4) AAS
>>98
クラステンプレートな
102: 2021/08/14(土)21:41 ID:fhp8ilcT(4/4) AAS
autoが便利すぎて反復子の型を明示していたころのC++には戻れそうにない
103(2): 2021/08/14(土)22:18 ID:cML6JT7R(1) AAS
11よりは前は書きたくないね
104(3): 2021/08/15(日)00:20 ID:YeWgyy60(1) AAS
QZ案外初心者やなw
でも言ってることは全面的に賛成
ポインタや参照、クラス等の基本を抑えてからでないとスマポや、C++11からの要素(右辺値参照含む)の使い方もわからんと思う
105: 2021/08/15(日)06:30 ID:AkVzvB4L(1) AAS
autoもそうだが ->戻り型やusingエイリアスもだね
typedefには戻れない
106: ハノン ◆QZaw55cn4c 2021/08/15(日)09:34 AAS
>>103
確かに罰ゲームの一種になるかも‥‥私も少しずつ採り入れていくようになっていますし
>>104
もう永遠の初心者だと思っていますので、ならば、初心者の気持ちがわかるコメントでコントリビュートするのもありかと、ふつふつと
107(3): 2021/08/15(日)14:37 ID:Qb5ISoeo(1) AAS
>>104
なにこれ?
QZ「〜」
名無し「QZ初心者やな。でも賛成」
っていう自演をやろうとしたが、一個目のQZのレスをコテつけ忘れで投稿してしまったのか?
あるいははちみつとQZを同一視している?
いずれにせよとんでもない皮肉だな笑
108(1): ハノン ◆QZaw55cn4c 2021/08/15(日)15:29 AAS
>>107
いちいち反応しなくてもよろしい
>>108
つ鏡
109: 2021/08/15(日)17:48 ID:pJ9UilRh(1/3) AAS
>>107
それ、以前俺が書いたカキコを勝手にコピペされただけだよ
110: 2021/08/15(日)17:52 ID:/OoKg6VD(1) AAS
クッソささやかな体面保つためだけの自演も失敗とか本当にみじめないきものだな…
111(1): 2021/08/15(日)18:00 ID:/ZNLC/hj(1) AAS
これか。どういう意図のコピペなんだろうかね。
2chスレ:tech
112: はちみつ餃子 ◆8X2XSCHEME 2021/08/15(日)18:12 ID:oR5NZ4bd(1/2) AAS
>>111
ブラウザが記憶してたのを再度投稿してしまったとかそういうしょうもないミスじゃないかな。
JaneStyle のメモ欄で以前のレス内容を貼り付けたりそのまま投稿できたりする機能があるよ。
113(1): 2021/08/15(日)18:15 ID:pJ9UilRh(2/3) AAS
だから勝手にコピペされたっつってんだろクソ餃子め
>>104は俺じゃないから
3行目を引用したかったのか変な自演したかったのかは知らん
114: はちみつ餃子 ◆8X2XSCHEME 2021/08/15(日)18:21 ID:oR5NZ4bd(2/2) AAS
>>113
すまぬ。
本人によるものでなくてもなんらかの意図でメモしてたものを
うっかりということは起こりそうなデザインにはなっているので、
意図によるものでなくただのミスじゃねという部分が主旨。
115: 2021/08/15(日)18:25 ID:pJ9UilRh(3/3) AAS
(´・ω・`)そうか
116(1): 2021/08/16(月)15:03 ID:Gh+OcB3l(1) AAS
>>107
なんで突然はちみつ?
117: はちみつ餃子 ◆8X2XSCHEME 2021/08/16(月)15:17 ID:5E5Krdno(1) AAS
>>116
現時点でこのスレにコテ (+トリップ) 付きで書き込んでいるのがはちみつ餃子と QZ だけだからだろ。
118(2): 2021/08/16(月)19:18 ID:QgSHgEhC(1) AAS
(unsigned) intの数を受けたら何らかの演算をして (unsigned) long longの数を返す、(unsigned) double の数を受けたら何らかの演算をして (unsigned) long double の数を返す、みたいのって逐一オーバーロードを書くしかないですよね?
要するに、大きいデータ型に格上げして何らかの演算をして返したいってことなんですが
119(1): ハノン ◆QZaw55cn4c 2021/08/16(月)19:34 AAS
>>118
演算子のオーバーロードにしても関数のオーバーロードにしても、返り値の型を指定することは出来なかったかと
思いつくのは演算前の引数にあてがうキャストのオーバーロードですね
120(1): 2021/08/16(月)19:55 ID:AiYiQHL1(1/2) AAS
引数をテンプレートにして、引数Tのビット数と整数型かどうかを見て、一段階大きい型を戻り値の型とすることは出来る
121: ハノン ◆QZaw55cn4c 2021/08/16(月)20:16 AAS
>>120
pls kwsk
>>119 普通にコンストラクタのほうがいいですか‥
122: 2021/08/16(月)21:59 ID:AiYiQHL1(2/2) AAS
ごめん、めんどい・・というか
sizeof(T)と整数or浮動小数点数のbool(is_integralとかで取る)を受け取る構造体の中でtype(戻り値の型)を定義、とか考えてたけど
結局Tのサイズごとに特殊化するから手間変わらん、てのと
関数の中身が長くなるなら、オーバーロードした関数からテンプレート版(戻り値の型と引数の型がテンプレート)を呼んで、そこで中身書けば一回で済むね
123: 2021/08/16(月)23:40 ID:cwTPPWgm(1) AAS
>>118
ふつうに long long や long double を引数で受け取るって演算して返す関数を書けば
その通りの動作になりそうなんだけど、何か気に入らないの?
2つ関数書くのが嫌だってこと?(やりたいことが少なくとも2通りあるのに?)
124: はちみつ餃子 ◆8X2XSCHEME 2021/08/17(火)00:20 ID:yPn/BtRt(1) AAS
大きい型というのは一段階大きい型という意味なのかな?
型の大きさは処理系 (アーキテクチャ) 依存だし、
ポータブルに書こうと思ったら思ったよりも面倒な感じ。
主要なアーキテクチャだけ対処できればいいなら
8 → 16 → 32 → 64
の拡張が出来ればいいので用意するパターンはそんなに多くはない。
ちなみに Windows の long double は double と同じ大きさだよ。
125: 2021/08/17(火)02:08 ID:rNAqXouz(1) AAS
何種類か関数があるならtraitsを作成するのもありじゃない?
126: 2021/08/18(水)04:11 ID:ReVsRUuR(1) AAS
関数読んだら1段階デカい型が返ってくるなんて使う側でも面倒が起きそうだな
127: 2021/08/18(水)04:23 ID:TZ94eDdV(1) AAS
まぁ、戻り値にも使用できるテンプレートの追加の型を関数内でconstexpr的に定義出来たらいろいろ面白いことが出来そうではあるなw
128(1): 2021/08/19(木)15:14 ID:9cCAU3aU(1/7) AAS
話は勝手に変わるけど、
{ 1,2,3,4,5 }
のような書き方が initializer_list になる場合とならない場合を全て知りたいけど
良く分からないので、誰か教えてくれまいか。
129(1): 2021/08/19(木)15:21 ID:9cCAU3aU(2/7) AAS
>>128
的を外しているかも知れないけど、その書き方をAと書くとすると、どんな文脈でも
A自体が最初に必ずいったん initializer_list<T> になった後にそれぞれの文脈で処理されるという
ことなのか、あるいは、
auto x {・・・};
auto x = {・・・};
auto x = TYPE {・・・};
func({・・・});
のようにいろいろな書き方や文脈が変わるとそもそも A は意味論的にすら
initializer_list<T> を経由せずにそれぞれ独自に解釈されて処理される
省1
130(1): 2021/08/19(木)15:24 ID:9cCAU3aU(3/7) AAS
あと、良く分からないのが、
struct CPerson {
・・・
CPerson(int a, int b, int c) {・・・} //(1)
};
とあった場合、
1. CPerson a{1,2,3};
2. CPerson a={1,2,3};
3. CPerson a=CPerson{1,2,3};
のどれを書いても多分、(1)が呼び出される気がするけど、
省5
131: はちみつ餃子 ◆8X2XSCHEME 2021/08/19(木)16:38 ID:z/GAGLjl(1/6) AAS
>>129
> initializer_list<T> を経由せずにそれぞれ独自に解釈されて処理される
initializer_list を経由しないことはある。
おおざっぱには initializer_list を受け取る文脈では initializer_list だし、
推論が必要なとき (auto やテンプレート) にも initializer_list に推論されるが、
そうでないときは initializer_list を経由しない。
132(1): はちみつ餃子 ◆8X2XSCHEME 2021/08/19(木)16:48 ID:z/GAGLjl(2/6) AAS
>>130
優先順位がある。
1. 2. 3. のいずれも initializer_list としての解釈が「優先される」。
initializer_list を受け取るコンストラクタが存在しなければ
三引数のコンストラクタが呼出される。
133(1): 2021/08/19(木)16:54 ID:9cCAU3aU(4/7) AAS
>>132
なるほど。確認だけど、
1. CPerson a{1,2,3};
2. CPerson a={1,2,3};
3. CPerson a=CPerson{1,2,3};
4. CPerson a(1,2,3);
5. CPerson a=CPerson(1,2,3);
は、どれも3引数のコンストラクタで受け取ることは可能ということでOk?
1. 2. 3. は、initializer_list を受け取るコンストラクタでも受け取ることが可能?
4. 5. は、initializer_list を受け取るコンストラクタでも受け取ることは不可能??
134(2): はちみつ餃子 ◆8X2XSCHEME 2021/08/19(木)17:08 ID:z/GAGLjl(3/6) AAS
>>133
(initializer_list を受け取るコンストラクタが無ければ) いずれも 3 引数のコンストラクタが起動されるが、
5. は 3 引数のコンストラクタでオブジェクトを構築した上で a にコピーする。
(コピーコンストラクタ、またはムーブコンストラクタが起動する。)
ただし RVO が有効な状況ではコピーやムーブはが省略されるので 5. は 4. と同じ。
そしてこの場合には関係ないが、波括弧によるコンストラクタ起動では引数の暗黙の型変換を許さない
といった重要な違いがある。
(initializer_list を受け取るコンストラクタが有る状況でも) 4. と 5. は initializer_list とは解釈されない。
135(2): 2021/08/19(木)17:14 ID:9cCAU3aU(5/7) AAS
>>134
1. 2. 3. は、initializer_list を受け取るコンストラクタでも受け取ることが可能?
4. 5. は、initializer_list を受け取るコンストラクタでも受け取ることは不可能??
については?
136(2): はちみつ餃子 ◆8X2XSCHEME 2021/08/19(木)17:19 ID:z/GAGLjl(4/6) AAS
>>135
それが区別できるだけのルールは既に提示したつもり。
137: 2021/08/19(木)17:21 ID:9cCAU3aU(6/7) AAS
>>136
すまん。もう一度明言してくれるとありがたい。
138(1): 2021/08/19(木)17:27 ID:td+NCu9W(1/2) AAS
template <int N> void test(std::bitset<N>& arg);
int main()
{
std::bitset<1ull> lvalue;
test(lvalue);
}
これ、Nが推定できないのはなんで?
139(1): 2021/08/19(木)17:28 ID:td+NCu9W(2/2) AAS
すまん、自己解決
unsigned long long Nが正解だった
140: はちみつ餃子 ◆8X2XSCHEME 2021/08/19(木)17:30 ID:z/GAGLjl(5/6) AAS
>>135
> 1. 2. 3. は、initializer_list を受け取るコンストラクタでも受け取ることが可能?
はい。 可能です。
> 4. 5. は、initializer_list を受け取るコンストラクタでも受け取ることは不可能??
はい。 不可能です。
ところで >>134 で、オブジェクトを構築した上でコピーするのは 5. と述べたけど 3. もそうやな。
141: はちみつ餃子 ◆8X2XSCHEME 2021/08/19(木)17:33 ID:z/GAGLjl(6/6) AAS
>>138-139
正解は size_t だよ。
size_t が具体的にどの整数型に対応するかは処理系定義なので
もちろん unsigned long long と等価なこともあるだろうけど。
142: 2021/08/19(木)17:40 ID:9cCAU3aU(7/7) AAS
>>136
念のため、その「述べた」はずのルールがどの文章だったのか教えてもらえれば
ありがたい。
143: 2021/08/19(木)22:54 ID:CH0dz2ka(1) AAS
vector<long long>を取る関数にvector<int>を渡すと、その引数はvector<long long>にキャストされる
で、vector<int>を取る関数にvector<long long>を渡すのはNG
この理解は合ってますでしょうか
144: 2021/08/19(木)23:03 ID:/B0HDd6y(1) AAS
間違ってる
vector<long long>とvector<int>には何の関係もない
intとstringに関係がないのと同じくらい関係ない
145: 2021/08/20(金)11:13 ID:5K/SmrCp(1/2) AAS
pair<int, int> は pair<long long, long long>にキャストできるけど
vectorにそういうコンストラクタはないな
146(2): 2021/08/20(金)12:13 ID:ssGfr3Zr(1) AAS
>>103
VS6.0の頃は地獄だったよ
forループの変数は生キノコるわ例外出たら自動変数の破棄全部ぶっ飛ばすわでMSはクソの集大成だと確信していたわ
147: 2021/08/20(金)12:42 ID:5K/SmrCp(2/2) AAS
例外処理が2系統、数え方によっては3系統あるのがね
148(1): 2021/08/20(金)15:19 ID:Pb4opnB5(1) AAS
STOUT を STDOUT に空目してこそプログラマ脳
「ミロ」そっくりの缶ビール 子どもが誤飲し販売禁止に(豪) - Yahoo! JAPAN
外部リンク:article.yahoo.co.jp
子どものみならず大人にも大人気のココア味の麦芽飲料「ミロ」は、世界中で愛されている。このほどオーストラリアの企業が、
ミロにそっくりのパッケージデザインで缶ビールを製造したことにより「子どもが間違えて飲んでしまった」という苦情が届いた。
これにより同製品の広告使用禁止が言い渡されたことを『news.com.au』などが伝えている。
問題の缶ビールは、豪ビクトリア州にある企業「Howler Brewing Company」の「Chocolate Milk Stout」というチョコレート風味の黒ビールだ。
缶のデザインは有名な麦芽飲料「ミロ」を真似たもので、お馴染みの緑色を背景に製品名や販売会社を示す文字の色やフォントまで同じデザインとなっている。
同社はこれまでにも、Instagramや炭酸飲料「スプライト」など認知度の高いロゴデザインを真似た製品を作り出している。
149(2): 2021/08/20(金)17:52 ID:BMARPdQo(1/2) AAS
関数オブジェクトじゃなくて関数を記述するメリットってなんかある?
テンプレートは近々関数オブジェクトの方でも使えるようになるんでしょ?
150(1): 2021/08/20(金)19:08 ID:n19OoAH+(1) AAS
>>149
タイプ数が少ない、くらいかね。
151: 2021/08/20(金)20:12 ID:BMARPdQo(2/2) AAS
>>150
じゃあそのうち「関数はレガシーな書き方なので関数オブジェクトを使用するようにしましょう」とか言われるようになるの?
152: 2021/08/21(土)00:32 ID:E2GGZp0E(1/4) AAS
>>149
複数の関数から呼ばれる関数どうすんのさ
グローバル変数や引数にいちいち入れるの?
上下前次1-新書関写板覧索設栞歴
あと 850 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.047s