[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 10/20 15:38 / Filesize : 230 KB / Number-of Response : 1020
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました



1 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 23:27:47.92 ID:pbJTQx9M.net]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。

◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。

【アップローダー】(質問が長い時はココ使うと便利)
codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
ideone.com/ (時間帯によってはcodepadが重い事があるのでここも

692 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 21:53:18.52 ID:RTw9+8lc.net]
いや、だから>>668を見てって…

693 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:00:32.44 ID:97JZ5equ.net]
馬の耳に念仏

694 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:09:56.79 ID:R2Je5ZhD.net]
>>668みたいな当初の質問とも江添の変な例とも異なるものを持ってきて何がしたいんだか

695 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:13:28.37 ID:RTw9+8lc.net]
>>679

>>678から借りた
https://ideone.com/9zFOQP

>>682
lvalue-refとrvalue-refでの話なんだから全然変な例じゃないわけで

何ここ
初心者が上級者を罵倒するスレ?

696 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:19:47.21 ID:7V4RYMzc.net]
元「@右辺値をmoveするのは間違い?
 Aだってmove(t)」
 ↓
普通の人:@について、tが左辺値であることを説明しようと例を出したり必死
バカ:Aについて、右辺値のmoveが間違いでないことを説明しようと例を出したり必死

この会話が噛み合っていない

697 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:20:03.25 ID:86J878Ki.net]
そんなことはやたらと詳しいけど、全く仕事できない奴いる。

装置の前で、規格がどうたらなんてどうでもいい。
さっさと運転しろよ。

698 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:20:22.42 ID:7V4RYMzc.net]
あ@とAが逆だった

699 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:21:42.57 ID:RTw9+8lc.net]
arguments deductionで必死に言い訳してるけど
そもそも江添氏の例でmove省いたらlvalue vs rvalue-refでmove無いわけ
rvalueの意味がわかるというなら、それが何で理解できないの?

700 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:25:53.67 ID:RTw9+8lc.net]
>>685
ならせめて書いて確認しようよ
書けないならそれこぞ仕事出来ないにも程がある



701 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:27:54.54 ID:R2Je5ZhD.net]
>>683
>>678から借りた
>https://ideone.com/9zFOQP
これって何でエラーになるの?
手持ちのgcc 4.9.2 --std=c++14じゃエラーになんてならないんだけど
罵り合いを離れて純粋に分からない

702 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:30:34.28 ID:7V4RYMzc.net]
>>689
VC「Error: an rvalue reference cannot be bound to an lvalue」

703 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:39:38.29 ID:RTw9+8lc.net]
>>689
ただのlvalueでrvalue-refじゃないから

わざわざg++4.9.2入れて確かめたけど
思いっきしcannot bind 'int' lvalue to 'int&&'って怒られたよ
コード変更してない?

704 名前:689 mailto:sage [2015/07/17(金) 22:42:08.16 ID:R2Je5ZhD.net]
すまん
https://ideone.com/9zFOQP
のままだと手持ちのgcc 4.9.2 --std=c++14でもエラーになったわ
でも少しいじるとエラーにならなくなる
もう訳わからんけどもう少し条件を狭めて確かめようと思う
規格的にはどうなるのが正しいのよ
もう訳わからんわ

705 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:43:39.25 ID:RTw9+8lc.net]
g++5.1でも確認

ID:R2Je5ZhDは完全に荒らし目的だな
さっきからわざわざ間違った事を言って罵倒してるし
でなきゃ頭おかしい

706 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:47:34.08 ID:7V4RYMzc.net]
>>691
まるでrvalue-refならOKみたいなレスですね
int && rref = 0;
f( rref ); // error, 右辺値参照型の左辺値

>>692
ISO/IEC 14882:2014 13.3.2 Viable functions 段落3
「an rvalue reference cannot be bound to an lvalue」
って、VCのエラーと同じ文言だった

707 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:54:05.50 ID:R2Je5ZhD.net]
ああ分かった>>668がエラーになるのはfがテンプレートじゃないからだ
俺様R2Je5ZhDの>>682の発言は正しかった
>>693
お前ごときに荒らし呼ばわりされる筋合いないから

708 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:55:17.38 ID:RTw9+8lc.net]
>>694
>まるでrvalue-refならOKみたいなレスですね
語弊は認めるが、そんなつもりでは言ってないって
渡すのにmoveが必要とずっと言ってるだろ

709 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:57:42.59 ID:JLRiqZ4D.net]
>でなきゃ頭おかしい

QZが頭がおかしくないはずがない

710 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:57:49.28 ID:RTw9+8lc.net]
>>695
いや、お前は最初から間違ってるよw
確認もせずに否定したんだから



711 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:58:44.54 ID:R2Je5ZhD.net]
>>697
事あるごとにQZとやらを持ちだして

712 名前:ヲ避するクズ []
[ここ壊れてます]

713 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 23:02:06.68 ID:R2Je5ZhD.net]
>>698
お得意の難癖ですな
俺は>>668は質問者の意図からして不適切だと言っている

714 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 23:09:06.96 ID:RTw9+8lc.net]
>>700
それで難癖つけてるという難癖をつけるんです?
元はarguments deductionも含まれる話だから別に不適切じゃないよね?
何が不適切?

715 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 23:11:18.67 ID:7V4RYMzc.net]
はいはい
元「@ 右辺値をmoveするのは間違い?
 A だってmove(t)」
 ↓
普通の人:Aについて「tは左辺値」
バカ:@について「右辺値のmoveは間違いでない。どうして理解できないの?」
普通の人:Aについて「tは左辺値。どうして理解できないの?」
バカ:@について「右辺値のmoveは間違いでない。どうして理解できないの?」
 :

716 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 23:19:12.83 ID:R2Je5ZhD.net]
>>701
元々の質問は「moveに右辺値を渡してる例があるがそれは間違いじゃないのか」というものだろ
この場合moveは必要じゃないけど間違っているとは言えないというのが俺の言い分だ
江添のアレを引気合に出した質問者もアレだが
まあ質問者の問いと斜めな方向にズラして議論を混乱させるいつもの展開だわね

717 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 23:28:20.65 ID:RTw9+8lc.net]
>>703
もしあんたがID:qgsB8yVYなら自分のレスよく読めと言いたい
特に>>651

718 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 23:31:07.50 ID:97JZ5equ.net]
ID:qgsB8yVY = ID:R2Je5ZhD なの?
>>677
>Aのfに渡されるtは単なるTで参照型ですらないよ
とか言ってる時点で全然理解できてないのがまるわかりなんだよな
もう少し謙虚さがほしいところ

719 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 23:36:00.06 ID:RTw9+8lc.net]
元々の質問は江添氏の例でいいんだよ
それが質問者のベース知識の前提であって意図なんだから

ID:7V4RYMzcが言うように元の考えを正すことに意味があるのであって
ID:qgsB8yVYのように文を切り離して説明する事に意味はない
そんなの回答者が自己満足でしかない

720 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 23:37:43.54 ID:RTw9+8lc.net]
間違えた ID:qgsB8yVYじゃなくてID:R2Je5ZhDかw
まあ難癖とか言ってるから本人で間違いないと思うけど



721 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 23:37:53.66 ID:R2Je5ZhD.net]
ID:qgsB8yVY = ID:R2Je5ZhDだよ
別にIDを隠そうとしたわけじゃなく、なんかしらんけど書き込めなくなったので
ルータを操作してIPアドレス変えただけ
それを宣言しなかったのは謝る

722 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 00:37:44.63 ID:GBkyMXza.net]
いちいち人を叩くのを目的にしてたら、だんだん客層が悪くなる

723 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 00:48:06.74 ID:OGvYy5ui.net]
Qzフルボコッコだな
しかしメンタルつえー

724 名前:646 mailto:sage [2015/07/18(土) 01:48:45.91 ID:+Rsx7s6r.net]
議論がかなりヒートアップしてて書き込むのが恐れ多いのですが・・・

どうやら左辺値・右辺値および左辺値参照・右辺値参照というものを正しく理解していないのが
自分の混乱の原因みたいです。
そこで確認させていただきたいのですが、以下の lr と rr はどちらもlvalueなんでしょうか?

struct X{ } ;
int f() { return 0 ; }

int main()
{
  int i = 0 ; // 式じゃないので、i はrvalueでもlvalueでもない
  i ;   // lvalue
  0 ;  // rvalue
  X x ; // 式じゃないので、x はrvalueでもlvalueでもない
  x ;   // lvalue
  X() ;  // rvalue
  f() ;  // rvalue
  X & lr = x ;    // lr はlvalueへの参照だが、lr 自体はlvalue?
  X && rr = X() ; // rr はrvalueへの参照だが、rr 自体はlvalue?
}

# そういえば、右辺値やムーブ等を勉強するために相当ググって色々なサイトを見ましたが
皆微妙に言っていることが違ったりして、このスレで激論が生じるのもむべなるかなと感じた次第・・・
まぁそこがC++の面白さでもあるんですかね

725 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 01:54:58.09 ID:n8k6dcHe.net]
どっちも左辺値

726 名前:646 mailto:sage [2015/07/18(土) 02:05:32.81 ID:+Rsx7s6r.net]
>>712
ありがとうございます。やはりそうですか

ということは、>>673の例に戻ると、以下の理屈で正しいということでしょうか?

struct X {} ;

template < typename T >
void f( T && t ) // この t は「右辺値参照の左辺値」なので、std::move(t) で「右辺値参照の右辺値」に変換してやる必要がある
{
  if ( std::is_lvalue_reference<T>::value )
    X x( t ) ;
  else
    X x( std::move(t) ) ;
}

int main()
{
  X x ;
  X y ;
  f( x ) ;
  f( std::move( y ) ) ; // ここで y は右辺値に変換はされるが・・・
}


つまり、関数の仮引数は、右辺値参照だろうがなんだろうが、必然的に常に左辺値になってしまうということでしょうか

727 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 02:19:14.82 ID:n8k6dcHe.net]
名前がついてるからね

728 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 02:35:55.71 ID:o/QnrV3k.net]
>>713
右辺値参照の左辺値なんて戯言は忘れたほうがいいよ
fのtの型は
f(x) → X&(左辺値参照)
f(std::move(y)) → X(単なる左辺値)
となる
この辺のルールは非常に分かりづらいね

729 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 02:37:57.07 ID:ZEPmmqWJ.net]
>>715
std::move(y)を受け取るんだから
X&&でしょ

730 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 02:38:00.55 ID:YtyUigYQ.net]
>>715 ID:R2Je5ZhD さん?



731 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 02:56:53.52 ID:o/QnrV3k.net]
>>716
そう思うでしょ?
でもis_reference、is_rvalue_reference、is_lvalue_referenceを組み合わせて試した結果
参照でも何でもない単なるXになってるよ
テンプレートの引数型のdeductionルールは摩訶不思議
>>717
そうだよ

732 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 03:11:56.92 ID:ZEPmmqWJ.net]
>>718
reference collapsionで消える&&は引数についてる&&だと思ってたけど
Tについてる&&が消えるんだな
t自体の型は右辺値参照になってたわ

733 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 03:52:48.75 ID:C7KIqrbe.net]
結局 ID:R2Je5ZhD はTの型とtの型を混同して暴れてたわけ?

734 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 03:54:30.80 ID:TrlsMEs4.net]
>>718
>参照でも何でもない単なるXになってるよ
ならないよ
消えるのはTの&&で、tは右辺値参照だろ

735 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 03:55:36.18 ID:oxhll+kB.net]
f(T &&t);
「tの型はただのX」なんてのは当然
「TはただのX、(tはX&&)」の書き間違いだと思ってスルーしてたけど
まさか本気でf(X t)だと思ってたのか?

736 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:13:05.91 ID:o/QnrV3k.net]
>>720>>721、>722
恥ずかしいけどその通りだわ無闇に混乱してた
弁解すれば、江添のコードがTの型をチェックしてるのでそれに引きずられたw

でも最初の質問「moveに右辺値を渡すのは間違いか?」についての答えは変わらないけどね
moveは不要だが間違いではない

737 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:15:36.03 ID:n8k6dcHe.net]
>>650のはtは左辺値じゃないか
std::move(t)しなきゃtはコピーされちゃうぞ

738 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:21:54.38 ID:TrlsMEs4.net]
立て続けに無知を呈し、質問者より理解してないとバレた状況で、
最初の文は間違いではないとか言われてもね…
ヤケクソかな

739 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:23:50.36 ID:oxhll+kB.net]
>>723
誰も言わないのがかわいそうだから俺が言ってやろう
「moveに右辺値を渡すのは間違いか?」は
「別に間違いではない」で正しい
誰 も 否 定 し て な い ぞ(※>>725を除く)

そして↓のメッセージを読んで糞して寝ろ
ideone.com/MbV03B

740 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:25:41.81 ID:dgWh7n0F.net]
そもそも前提が間違えてるんだから
正しいも間違いもないぞ



741 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:26:56.93 ID:n8k6dcHe.net]
>>726
ないって言ってるんだから間違いであることを否定してるじゃん

742 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:29:32.77 ID:TrlsMEs4.net]
>>727
言っても理解しないよ
自分が勝った気になればそれで良いんだと思うよこのタイプは

743 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:31:09.70 ID:oxhll+kB.net]
>>727
前提も何も、単発質問の「moveに右辺値を渡すのはC++の文法的に間違いか否か?」についての回答ですが何か?

>>728
間違いであることを否定してますが何か?

744 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:32:18.67 ID:TrlsMEs4.net]
>>726
別に否定してないよ
自演かな?

745 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:35:01.33 ID:TrlsMEs4.net]
自演だな…
こいつ本当何でもやるなあ

746 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:35:22.58 ID:n8k6dcHe.net]
>>730
moveに渡してたのは右辺値じゃなかったでしょ?
>>650見てなかったのか?

747 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:35:29.70 ID:4GeWeiMQ.net]
はいはい都合が悪いのは自演自演

748 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:37:24.23 ID:dgWh7n0F.net]
ID:R2Je5ZhD == ID:o/QnrV3k == ID:oxhll+kB
だろ
なんか自演失敗して擁護が悲しいことになってるけど…

749 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:39:21.37 ID:o/QnrV3k.net]
>>726
ありがとう。糞して寝ます(明るくなってきちゃったハア)
>>729
勝った気になんてなってませんから!

750 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:41:13.10 ID:TrlsMEs4.net]
マジでこういう奴いるんだなあ
流石に時間と場所考えろって…



751 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:42:23.86 ID:o/QnrV3k.net]
>>735
R2Je5ZhD == ID:o/QnrV3k != ID:oxhll+kB
だよ
負けは認めますけど自演認定はやめて下さい

752 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:43:57.31 ID:o/QnrV3k.net]
無闇に自演認定するような精神障害者よりマシということで気持よく寝ます

753 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 04:51:05.98 ID:TrlsMEs4.net]
救えねえな

754 名前:702 mailto:sage [2015/07/18(土) 05:15:13.00 ID:oxhll+kB.net]
>>731
日本語が弱いようだから説明してやろう
『「(例とは無関係な一般的なC++の文法として)moveに右辺値を渡すのは間違いか?」は
「別に間違いではない」で正しい
(「別に間違いではない」というお前が固執し続けてきた意見は)誰 も 否 定 し て な い 』
という意味だ

755 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 11:02:20.46 ID:4iDO3/6j.net]
if ( std::is_lvalue_reference<T>::value )
  X x( t ) ;
else
  X x( std::move(t) ) ;
江添氏は実行されない方のコードもコンパイルは
されることを認識してたんだろうか
ありがちな記述ミスの形をしているので気になった

756 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 13:28:55.34 ID:o/QnrV3k.net]
>>742
その記事の江添は俺と同程度以上に誤解してるよ
まあそれは5年以上前の記事だけどね

でも「実行されない方のコード」というあなたもまだ誤解してる
C++のテンプレートの型ルールは本当に難しいね

757 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 13:35:03.61 ID:o/QnrV3k.net]
気分を害された人には申し訳ないけど
なにはともあれ俺にとってはテンプレート関数の理解が前進した一日でした まる

758 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 14:02:05.58 ID:4iDO3/6j.net]
>その記事の江添は俺(QZ)と同程度以上に誤解してる

まじかよ おどろきだ

759 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 14:41:46.95 ID:bOEkw/VG.net]
>>713
>void f( T && t ) // この t は「右辺値参照の左辺値」

わかってるとは思うけどそれは右辺値で呼ばれる時の話で
左辺値xで呼ばれるfのtは左辺値参照だぞ
f( x ) = f<X &>(x)
T && = X & && = X &
void f( T && t ) = void f(X &t)

760 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 15:56:20.31 ID:C7KIqrbe.net]
>>743
お前まだ理解できてないのかよ。Javaでもやってろ



761 名前:デフォルトの名無しさん [2015/07/18(土) 15:58:50.31 ID:ihNXNCvt.net]
なんでそんなに冷たいの?

762 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 16:29:10.29 ID:TrlsMEs4.net]
IDで追っていけばわかる
岡部健のご同類

763 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 17:01:18.70 ID:Kjz+WqVJ.net]
ID:TrlsMEs4も同類

764 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 17:03:29.52 ID:TrlsMEs4.net]
ほらな

765 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 17:10:23.40 ID:C7KIqrbe.net]
精神科医と激論を交わせるぐらいの頭脳の持ち主だとは思ってたけどまさかね

766 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 17:14:24.89 ID:TrlsMEs4.net]
念の為、俺が言及してるのはo/QnrV3kの事だよ

767 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 19:00:14.93 ID:Kjz+WqVJ.net]
同類なのは自分なのに気づかないなんて…

768 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 01:50:34.76 ID:uuV0Uo08.net]
もう誰が誰やら

769 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 02:13:06.80 ID:rizf9cO8.net]
自演 ID:n8k6dcHe=ID:TrlsMEs4
アスペ ID:oxhll+kB
キチガイ ID:o/QnrV3k

この三人を押さえておけばOK
あとはゲスト

770 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 02:23:02.44 ID:CK6DPL2A.net]
いちいち人を論じてスレ潰すのはやめろ
パン作り板にでも行ってこい



771 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 02:27:30.09 ID:rizf9cO8.net]
これは
>自演 ID:n8k6dcHe=ID:TrlsMEs4
の人ですね

772 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 02:49:40.63 ID:iK86efF8.net]
規格に詳しい方に質問します
ideone.com/dU9dtb
これの"2"がcopyになってしまうんですが、どうしてですか?
規格のどの部分の規定によりこうなるのか知りたいです

773 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 02:56:51.32 ID:36W6lgqU.net]
都合が悪いレスは全て自演とか糖質かよw

774 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 03:11:02.31 ID:binYh77K.net]
>>759
static_cast<T&&>(t)

static_cast<X& &&>(t)
に展開されて
さらに
static_cast<X&>(t)
と&&減るからです
ttp://d.hatena.ne.jp/gintenlabo/20100916/1284657258
規格はここに書いてる

775 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 03:24:53.89 ID:iK86efF8.net]
>>761
ありがとうございます。規格の該当部分を精読します。
直感的には全部moveになって欲しいんですが、どういう理由でこうなってるんですかね?

776 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 03:30:36.07 ID:binYh77K.net]
>>762
f(x);で渡してるのは参照だから
プログラマが明示しないかぎり勝手にmoveされるのは困るでしょ
テンプレート内ではmoveではなくforward<T>(t)を使うべき
そうすれば右辺値が渡されればmove、左辺値が渡されればcopyされる

777 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 03:39:14.61 ID:iK86efF8.net]
>>763
f()では左辺値だろうが右辺値だろうがmoveしたいんです
static_cast<T&&>(t)で十分に明示になってると思うんですがねえ
どうしてこういう規格にならざるを得なかったのかもう少し調べてみます

778 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 07:20:27.46 ID:rizf9cO8.net]
これは
>自演 ID:n8k6dcHe=ID:TrlsMEs4
の人ですね

779 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 08:35:41.71 ID:iu/AL9yj.net]
そりゃ左辺値参照へのキャストは左辺値を生み出すからね
melpon.org/wandbox/permlink/cjb6akMJJVY25X3Q

780 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 08:56:58.98 ID:rizf9cO8.net]
これは
>アスペ ID:oxhll+kB



781 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 14:01:27.47 ID:I4MCl2HA.net]
自演指摘されたからって必死すぎだろう
誤魔化す以外にそんなレスする奴がいると思ってるのか

782 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 14:33:02.83 ID:QpRpKQBg.net]
これも
>自演 ID:n8k6dcHe=ID:TrlsMEs4
の人ですね

783 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 17:27:14.04 ID:iU13bViu.net]
cとc#とc++って全部別物ですか?

数学I、数学U、数学Vみたいに似通ったところはあるのでしょうか

784 名前:デフォルトの名無しさん [2015/07/19(日) 17:41:37.09 ID:F7g9AAKV.net]
別物だが似通ってはいる。
C⇒C++はほぼ上位互換性で、C#はC++++から名付けられた説があるし、
構文なんかはC++から取ってきてる。

785 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 17:44:56.51 ID:9N4IERvr.net]
C++
C‡
C♯
C#
C‡‡
C##

これ全部違うんだよ

786 名前:デフォルトの名無しさん [2015/07/19(日) 17:45:02.22 ID:F7g9AAKV.net]
C#への期待。アンダースからの返答 − @IT


C#に関して何か興味深い秘話はあるか?

「C#」という言語名を決めたときの話だが、もともとC#プロジェクトのコード名は、「COOL」(C like Object Oriented Language)だった。
だが、すでにほかの製

787 名前:品で使われているなどの理由で、この名前は採用されなかった。

ほかの案として、「EC」(イーシー)、「C2」(シー・スクウェア)、「C3」、また音楽の要素を取り入れて「C#」、元素の名前から「Cs」(シー・セシウム)などが出てきた。
「C#」を近くでよーく見ると、「C++++」に見える。そのような理由で最終的に「C#」という名前に落ち着いた。


http://www.atmarkit.co.jp/fdotnet/insiderseye/20060215cscommunity/cscommunity_01.html
[]
[ここ壊れてます]

788 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 18:22:29.91 ID:MTXI4NoM.net]
std::unique_ptr<>使ってて疑問なのですが。

MyObject* ary = new MyObject[3]; が
std::unique_ptr<MyObject[]> ary(new MyObject[3]); は理解できるんだけど

char* str = new char[3]; は、
std::unique_ptr<char> str(new char[3]); になる?
std::unique_ptr<char[]> str(new char[3]); になる?

789 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 18:36:25.78 ID:ckceIrW4.net]
std::unique_ptr<char[]>
こっち

790 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 18:56:36.67 ID:iU13bViu.net]
>>771
ありがとうございます
AndroidやiPhoneのアプリを作ってみたいんですが
C言語だとどれを勉強するといいでしょうか?



791 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 20:11:22.73 ID:iu/AL9yj.net]
>>775
間違いではないからと言って不適切なコードを正してあげないとは酷い人ですね

792 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 20:25:25.80 ID:ckceIrW4.net]
>>777
vectorやstringを勧めるということでしょうか?それともmake_uniqueですか?
私の頭では他にどう答えたらよいか思い浮かびませんでした。
どうか完璧な回答をご教示いただけませんか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<230KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef