公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
公式ドキュメント
https://www.rust-lang.org/learn
Web上の実行環境
https://play.rust-lang.org
※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/
※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust
※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/
※次スレは原則>>980が立てること
前スレ
Rust part21
https://mevius.5ch.net/test/read.cgi/tech/1692105879/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.2ch.net/test/read.cgi/tech/1514107621/
探検
Rust part22
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2024/01/20(土) 23:21:40.08ID:wyzQTwgG703デフォルトの名無しさん
2024/02/13(火) 10:20:47.32ID:yeb3oliP うちの講師が全てにおいてPythonに劣った言語って言ってるけどマ?
704デフォルトの名無しさん
2024/02/13(火) 10:23:31.22ID:T85IlqBy >>703
そんなわけないでしょ
そんなわけないでしょ
705デフォルトの名無しさん
2024/02/13(火) 10:29:29.95ID:iVxwtbvh706デフォルトの名無しさん
2024/02/13(火) 10:30:11.10ID:ep9QvdZW >>703
その講師はメインでなにを教えてるん?データサイエンス?少なくともコンピュータ工学やメカトロニクスではなさそう
その講師はメインでなにを教えてるん?データサイエンス?少なくともコンピュータ工学やメカトロニクスではなさそう
707デフォルトの名無しさん
2024/02/13(火) 10:31:44.87ID:mnEJD8Sx >>703
その講師優秀やな
その講師優秀やな
708デフォルトの名無しさん
2024/02/13(火) 11:11:21.55ID:mXdLEMzy >>705
その講師も大概だがお前もデバッグをまともにやったことないだろ。
その講師も大概だがお前もデバッグをまともにやったことないだろ。
709デフォルトの名無しさん
2024/02/13(火) 11:16:14.81ID:iVxwtbvh >>708
Pythonは実行時に発覚するエラーが多すぎてプログラミング言語として辛いんよ
Pythonは実行時に発覚するエラーが多すぎてプログラミング言語として辛いんよ
710デフォルトの名無しさん
2024/02/13(火) 11:22:46.51ID:BKo58x30 ここまで俺の自演
711デフォルトの名無しさん
2024/02/13(火) 11:32:02.27ID:mXdLEMzy712デフォルトの名無しさん
2024/02/13(火) 11:43:25.76ID:bOFev+sF713デフォルトの名無しさん
2024/02/13(火) 11:46:14.62ID:bOFev+sF まあどうせ荒らしのたぐいだろうから安価つけても無視されて無駄なんだろうな
くだらねえほんと
くだらねえほんと
714デフォルトの名無しさん
2024/02/13(火) 11:53:02.08ID:rA+hqhZ3 荒らしに構った時点でお前らの負け
715デフォルトの名無しさん
2024/02/13(火) 11:57:48.21ID:qvC4XjeP >>703が荒らし判定されてて草ww
716デフォルトの名無しさん
2024/02/13(火) 12:05:17.83ID:n6Gkr1cM >>702
trait boundはgenerics と型パラメータの相互依存が重たい気が。
c++ template & conceptみたいに、templateから型パラメータへの一方向依存になるように(型パラメータに指定される型はtemplateから独立するように)できたっけ?
trait boundはgenerics と型パラメータの相互依存が重たい気が。
c++ template & conceptみたいに、templateから型パラメータへの一方向依存になるように(型パラメータに指定される型はtemplateから独立するように)できたっけ?
717デフォルトの名無しさん
2024/02/13(火) 12:09:09.09ID:IxuyFkNI わかる→ Pythonで簡単なスクリプトを書く
キチガイ→ Pythonでプログラミング開発する
キチガイ→ Pythonでプログラミング開発する
718デフォルトの名無しさん
2024/02/13(火) 12:12:34.52ID:KvZIg8uL Pythonでプログラム書くのもちゃんと型書いてlintしたら出来なくもないよ
719デフォルトの名無しさん
2024/02/13(火) 12:15:32.69ID:1UgkqCq+ よく分からんが画像生成系のフロントエンドでrubyベースのってあったっけ?
720デフォルトの名無しさん
2024/02/13(火) 13:03:33.72ID:X5Whr4lm 単発NG推奨
721デフォルトの名無しさん
2024/02/13(火) 13:04:48.12ID:X5Whr4lm 単発NG推奨
連鎖あぼーん推奨
連鎖あぼーん推奨
722デフォルトの名無しさん
2024/02/13(火) 13:49:44.45ID:BKo58x30 スレNG推奨では?
723デフォルトの名無しさん
2024/02/13(火) 14:10:44.85ID:q0xfm82v また境界知能が暴れてんのか
いい加減諦めろよ
いい加減諦めろよ
724デフォルトの名無しさん
2024/02/13(火) 15:09:27.64ID:j+0n3+gu C++20のコンセプトはゴミみたいなenable_if_tを使わなくてよくなって見やすくなったよね
まだまともに使う機会が来なくて慣れてないけど
まだまともに使う機会が来なくて慣れてないけど
725デフォルトの名無しさん
2024/02/13(火) 19:22:36.57ID:ui4ZrT7T XML大嫌い
726デフォルトの名無しさん
2024/02/13(火) 20:34:52.16ID:u8WS3GIa >>716
やりたいことがよく分からないけどtraitのassociation typeで解決しない?
I: Iteratorだと要素の型はI::Item(正確には<I as Iterator>::Item)になるみたいな
C++のconceptだとtypenameに相当するのかな
traitにgenericsの型パラメータ持たせるかassociation type使うかの判断は慣れるまで難しいけど
選択肢が複数あって外部から決められる ⇒ generics型パラメータ(例:AsRef<T>)
traitを実装するときに内部で自動的に決まる ⇒ association type(例:Deref::Target)
みたいに使い分けるといい
全部をgenericsの型パラメータでやろうとするとカオスになる
やりたいことがよく分からないけどtraitのassociation typeで解決しない?
I: Iteratorだと要素の型はI::Item(正確には<I as Iterator>::Item)になるみたいな
C++のconceptだとtypenameに相当するのかな
traitにgenericsの型パラメータ持たせるかassociation type使うかの判断は慣れるまで難しいけど
選択肢が複数あって外部から決められる ⇒ generics型パラメータ(例:AsRef<T>)
traitを実装するときに内部で自動的に決まる ⇒ association type(例:Deref::Target)
みたいに使い分けるといい
全部をgenericsの型パラメータでやろうとするとカオスになる
727デフォルトの名無しさん
2024/02/13(火) 21:06:36.86ID:4D6oEUgV >>716
できる
例えばこのように
https://docs.rs/hyper/latest/hyper/service/trait.Service.html
pub trait Service<Request> {
type Response;
type Error;
type Future: Future<Output = Result<Self::Response, Self::Error>>;
// Required method
fn call(&self, req: Request) -> Self::Future;
}
ここで型パラメタResponseとErrorはこのtraitを実装する各型に依存して決まり
型パラメタResponseは依存しない
>>726
その二種類の混合も可能
できる
例えばこのように
https://docs.rs/hyper/latest/hyper/service/trait.Service.html
pub trait Service<Request> {
type Response;
type Error;
type Future: Future<Output = Result<Self::Response, Self::Error>>;
// Required method
fn call(&self, req: Request) -> Self::Future;
}
ここで型パラメタResponseとErrorはこのtraitを実装する各型に依存して決まり
型パラメタResponseは依存しない
>>726
その二種類の混合も可能
728デフォルトの名無しさん
2024/02/13(火) 21:08:42.27ID:4D6oEUgV729デフォルトの名無しさん
2024/02/13(火) 22:37:37.84ID:s0kRtfrq ちょっと違うなぁ。
c++ template & conceptだと
wandbox.org/permlink/74j79ZQ3mbPb2cLO
みたいな感じでCircleはf()の影響を受けずに独立させることができる。
draw()メソッドというダックテストを満たせば他はどうでも良い。
Rustのgenericsだと
wandbox.org/permlink/CvepQKXOXaNTJoJm
みたいにCircleとf()の間にtrait Dという相互依存ができて、Circleを好き勝手に定義できなくなる。
f()が欲しいのはあくまでdraw()メソッドだけだから、双方にtrait Dが必要になるのは過剰な相互依存になる。
クラスの継承もそうだけど、余計な依存性は面倒だからできるだけ排除したいところ。
c++ template & conceptだと
wandbox.org/permlink/74j79ZQ3mbPb2cLO
みたいな感じでCircleはf()の影響を受けずに独立させることができる。
draw()メソッドというダックテストを満たせば他はどうでも良い。
Rustのgenericsだと
wandbox.org/permlink/CvepQKXOXaNTJoJm
みたいにCircleとf()の間にtrait Dという相互依存ができて、Circleを好き勝手に定義できなくなる。
f()が欲しいのはあくまでdraw()メソッドだけだから、双方にtrait Dが必要になるのは過剰な相互依存になる。
クラスの継承もそうだけど、余計な依存性は面倒だからできるだけ排除したいところ。
730デフォルトの名無しさん
2024/02/13(火) 23:17:32.55ID:RVgq5WHA それはgeneric constraintがnominalかstructuralかという違い
Rustはnominalのみでstructural generic constraintはサポートしてないよ
Rustはnominalのみでstructural generic constraintはサポートしてないよ
731デフォルトの名無しさん
2024/02/13(火) 23:20:56.53ID:KlTxxkJG Pythonは全てにおいてJuliaに劣った言語だな
732デフォルトの名無しさん
2024/02/13(火) 23:28:47.57ID:u8WS3GIa >>729
Circleを
fn f<T: Drawable>(t: &T) -> f64 { t.draw() }
に渡したいなら普通に
impl Drawable for Circle {
fn draw(&self) -> f64 { <Circle as D>::draw(self) }
}
を追加するな
コントラクトの明示を余計な依存関係だとは思わない
ちなみに
impl Circle {
fn draw() -> f64 {...}
}
みたいに本体のimplに定義するとCircleのself.draw()は全部こっちで解決されるから
impl Drawable for Circle {
fn draw(&self) -> f64 { self.draw() }
}
って書ける
1つの型に複数のtraitで同じ名前の関数を持たせるのはRustだとたまに見かける
impl Debugとimpl Displayはどっちもfn fmt()で別の実装するし
Circleを
fn f<T: Drawable>(t: &T) -> f64 { t.draw() }
に渡したいなら普通に
impl Drawable for Circle {
fn draw(&self) -> f64 { <Circle as D>::draw(self) }
}
を追加するな
コントラクトの明示を余計な依存関係だとは思わない
ちなみに
impl Circle {
fn draw() -> f64 {...}
}
みたいに本体のimplに定義するとCircleのself.draw()は全部こっちで解決されるから
impl Drawable for Circle {
fn draw(&self) -> f64 { self.draw() }
}
って書ける
1つの型に複数のtraitで同じ名前の関数を持たせるのはRustだとたまに見かける
impl Debugとimpl Displayはどっちもfn fmt()で別の実装するし
733デフォルトの名無しさん
2024/02/13(火) 23:28:48.94ID:RVgq5WHA >>726
>traitを実装するときに内部で自動的に決まる ⇒ association type(例:Deref::Target)
ある型に対するtrait実装をただ一つだけにしたいものや
自然と一つだけになるような性質のものはassciated typesを使う
使う側はassociated typesのほうが使いやすいので
悩んだらとりあえずassociated typesからはじめてみる
>traitを実装するときに内部で自動的に決まる ⇒ association type(例:Deref::Target)
ある型に対するtrait実装をただ一つだけにしたいものや
自然と一つだけになるような性質のものはassciated typesを使う
使う側はassociated typesのほうが使いやすいので
悩んだらとりあえずassociated typesからはじめてみる
734デフォルトの名無しさん
2024/02/13(火) 23:30:39.22ID:9eHJiOzP735デフォルトの名無しさん
2024/02/13(火) 23:32:24.97ID:RaqlAe+S traitとかいうつまらない機能にこだわってないでPython極めろよ
時代はAIだぞ
時代はAIだぞ
736デフォルトの名無しさん
2024/02/13(火) 23:35:00.89ID:8wj/C7pB >>735
Rustをただ貶したいだけのやつは黙っとけよ雑魚
Rustをただ貶したいだけのやつは黙っとけよ雑魚
737デフォルトの名無しさん
2024/02/14(水) 05:05:25.04ID:uLd8jazY Pythonはスクリプト言語のクセにメソッドチェーンもロクに使えないうんこだからなぁ。
比較で持ち出すならせめてNimにしろよ。
比較で持ち出すならせめてNimにしろよ。
738デフォルトの名無しさん
2024/02/14(水) 05:28:01.52ID:uLd8jazY >732 >734
Rustのtrait boundはあらかじめ型の方でtraitを準備しておかなきゃいけない。
これはRustが嫌っているクラスの継承みたいなもので、genericsやるごとに元の型/traitを弄くり回す必要が出てこない?
呼び出し元が真に必要なのは機能だけなんだから、同じ名前で互換性のある引数型・戻り値型ならそのまま利用できる方が良い。
まあ、ダックタイプみたいに手を抜かずにAdapter作れ、と言う方針でも良いけど、それならAdapter helperをもっと充実して欲しいところ。
AdapterパターンとかDecorator パターンて重要なのに言語側のサポート薄いよなぁ。
Rustのtrait boundはあらかじめ型の方でtraitを準備しておかなきゃいけない。
これはRustが嫌っているクラスの継承みたいなもので、genericsやるごとに元の型/traitを弄くり回す必要が出てこない?
呼び出し元が真に必要なのは機能だけなんだから、同じ名前で互換性のある引数型・戻り値型ならそのまま利用できる方が良い。
まあ、ダックタイプみたいに手を抜かずにAdapter作れ、と言う方針でも良いけど、それならAdapter helperをもっと充実して欲しいところ。
AdapterパターンとかDecorator パターンて重要なのに言語側のサポート薄いよなぁ。
739デフォルトの名無しさん
2024/02/14(水) 06:58:38.09ID:t2TEYrx/ >>738
>>これはRustが嫌っているクラスの継承みたいなもの
クラス継承は基底クラスの実装をそのまま継承する実装継承になっていることが問題点
一方でRustはトレイト境界となるトレイトに対して自分で実装を用意する
したがってRustでは実装継承とはならず問題が生じない
>>これはRustが嫌っているクラスの継承みたいなもの
クラス継承は基底クラスの実装をそのまま継承する実装継承になっていることが問題点
一方でRustはトレイト境界となるトレイトに対して自分で実装を用意する
したがってRustでは実装継承とはならず問題が生じない
740デフォルトの名無しさん
2024/02/14(水) 07:00:00.30ID:HWQ4xiFb 自演きもいなあ
741デフォルトの名無しさん
2024/02/14(水) 07:00:27.71ID:523CbVaw 実装継承はゴミ
742デフォルトの名無しさん
2024/02/14(水) 07:05:57.04ID:Uwd6Wtce743デフォルトの名無しさん
2024/02/14(水) 07:33:52.24ID:uLd8jazY744デフォルトの名無しさん
2024/02/14(水) 08:08:30.71ID:b46uhNiQ >>742
実運用はビルド済だから関係ないな。
実運用はビルド済だから関係ないな。
745デフォルトの名無しさん
2024/02/14(水) 08:09:58.02ID:t2TEYrx/746デフォルトの名無しさん
2024/02/14(水) 08:41:45.06ID:W3PM5KGQ >>745
早すぎる最適化が問題なんだから、トレイトもその問題を引き継いでるぞ
早すぎる最適化が問題なんだから、トレイトもその問題を引き継いでるぞ
747デフォルトの名無しさん
2024/02/14(水) 08:51:32.74ID:t2TEYrx/748デフォルトの名無しさん
2024/02/14(水) 08:55:57.66ID:b46uhNiQ749デフォルトの名無しさん
2024/02/14(水) 09:07:35.89ID:L7EuZktb 真面目に理解したいなら>>730が正解だからstructural typingとnominal typingの意味を調べてくればいいよ
750デフォルトの名無しさん
2024/02/14(水) 09:20:06.07ID:BSRmwKLd >>729
C++は酷いな
struct定義の時点でdraw()宣言を要求してしまうのか
Rustなら
struct定義の時点でdraw()宣言を要求せずに済む
後からdraw()という機能(=Drawableトレイト)が必要になった時点で
structに対してDrawableを実装すればいい
Rustの方が優れてるな
C++は酷いな
struct定義の時点でdraw()宣言を要求してしまうのか
Rustなら
struct定義の時点でdraw()宣言を要求せずに済む
後からdraw()という機能(=Drawableトレイト)が必要になった時点で
structに対してDrawableを実装すればいい
Rustの方が優れてるな
751デフォルトの名無しさん
2024/02/14(水) 09:36:07.02ID:48k6rT3Y752デフォルトの名無しさん
2024/02/14(水) 09:47:17.10ID:c6aYZ04m >>738
根本的な理解がおかしいので説明すると
Rustのtraitは機能を抽象化している
各型はその機能が必要になった時にそのtraitを実装(impl)すればよい
必要な分の各機能(trait)を実装することで結果的に各機能の合成となる
根本的な理解がおかしいので説明すると
Rustのtraitは機能を抽象化している
各型はその機能が必要になった時にそのtraitを実装(impl)すればよい
必要な分の各機能(trait)を実装することで結果的に各機能の合成となる
753デフォルトの名無しさん
2024/02/14(水) 09:59:07.19ID:YhuSf3ik 細かな実装上の違いはあるけど概念レベルでは Rustのトレイトも他言語のインターフェースも同じ
実装上の違いを見て異なる概念だと勘違いしてると本質を見失う
実装上の違いを見て異なる概念だと勘違いしてると本質を見失う
754デフォルトの名無しさん
2024/02/14(水) 10:10:46.95ID:Z6/Yikm0755デフォルトの名無しさん
2024/02/14(水) 10:17:10.59ID:naKe/3pl ダックタイピングという問題ありまくりのものを有り難がるのはバカだけ
756デフォルトの名無しさん
2024/02/14(水) 10:27:45.39ID:s2Ev9A6j >>738
言語側のサポートならマクロで十分でしょ
macro_rules! impl_drawable {
($type:ty) => {
impl $crate::path::to::Drawable for $type {
fn draw(&self) -> f64 { self.draw() }
}
}}
を定義すれば
impl_drawable!(Circle);
だけでimpl Drawable for Cirle {...}を生成できる
渡された型が同じ引数&戻り値のself.draw()をもってないとコンパイルできないから実質ダックタイピング
Drawableに関数を追加したらマクロにも追加すればいい
draw関数の有無だけで照合するのは別の意味のdrawも対象になるから危なっかしい
impl traitだとどのモジュールのDrawableを実装するかまで指定できるから混同の心配がなくなる
言語側のサポートならマクロで十分でしょ
macro_rules! impl_drawable {
($type:ty) => {
impl $crate::path::to::Drawable for $type {
fn draw(&self) -> f64 { self.draw() }
}
}}
を定義すれば
impl_drawable!(Circle);
だけでimpl Drawable for Cirle {...}を生成できる
渡された型が同じ引数&戻り値のself.draw()をもってないとコンパイルできないから実質ダックタイピング
Drawableに関数を追加したらマクロにも追加すればいい
draw関数の有無だけで照合するのは別の意味のdrawも対象になるから危なっかしい
impl traitだとどのモジュールのDrawableを実装するかまで指定できるから混同の心配がなくなる
757デフォルトの名無しさん
2024/02/14(水) 10:44:54.87ID:AzS2pw5X ダックタイピングは使う側が気をつければなにも問題ないんだよなあ
そこらへん理解してないあたり実装をやったことのないエアプなんだろうな
かわいそう
そこらへん理解してないあたり実装をやったことのないエアプなんだろうな
かわいそう
758デフォルトの名無しさん
2024/02/14(水) 10:53:25.15ID:naKe/3pl759デフォルトの名無しさん
2024/02/14(水) 11:07:38.32ID:RfRsJx+N 使う側が気をつけるならC++も問題ないからな
760デフォルトの名無しさん
2024/02/14(水) 11:17:22.43ID:NjTyhCIW761デフォルトの名無しさん
2024/02/14(水) 11:23:15.20ID:FEB+PUkj762デフォルトの名無しさん
2024/02/14(水) 11:28:02.15ID:naKe/3pl ダメ人間の思想「使う側が気をつければ問題ない」によって
今まで数多のなかなか見つからないバグやセキュリティホールを生じてきたのがプログラミング言語の黒歴史
今後はそのような言語を用いてはいけない
今まで数多のなかなか見つからないバグやセキュリティホールを生じてきたのがプログラミング言語の黒歴史
今後はそのような言語を用いてはいけない
763デフォルトの名無しさん
2024/02/14(水) 11:51:49.92ID:L7EuZktb ここで>>9-20の流れを振り返ってみましょう
764デフォルトの名無しさん
2024/02/14(水) 11:52:42.46ID:3OoaoCBc C の後置 ++ 演算子のようなことをする Rust の関数が標準で有ったりしますか?
リファレンスマニュアルをざっとみた感じでは見つけられないのですが……。
具体的に言えば
fn increment(dest: &mut u32) -> u32 {
let t = *dest;
*dest += 1;
t
}
みたいなことをしたくて、いかにもよくありそうなパターンなので標準内にあってもよさそうなもんだと思った次第です。
リファレンスマニュアルをざっとみた感じでは見つけられないのですが……。
具体的に言えば
fn increment(dest: &mut u32) -> u32 {
let t = *dest;
*dest += 1;
t
}
みたいなことをしたくて、いかにもよくありそうなパターンなので標準内にあってもよさそうなもんだと思った次第です。
765デフォルトの名無しさん
2024/02/14(水) 12:13:59.14ID:s2Ev9A6j766デフォルトの名無しさん
2024/02/14(水) 12:19:27.37ID:Cdw7DngV767デフォルトの名無しさん
2024/02/14(水) 12:25:13.12ID:b46uhNiQ768デフォルトの名無しさん
2024/02/14(水) 12:29:23.30ID:naKe/3pl769デフォルトの名無しさん
2024/02/14(水) 12:49:07.16ID:b46uhNiQ770デフォルトの名無しさん
2024/02/14(水) 12:52:16.39ID:KpCwABm3 欠点がない言語なんて無いから言い争ってもね。
771デフォルトの名無しさん
2024/02/14(水) 12:57:57.69ID:p6Tfi6cJ そもそも人間自体が欠陥なんだからその人間の作った言語に欠陥があるのは自明
772デフォルトの名無しさん
2024/02/14(水) 13:07:28.33ID:L7EuZktb たし🦀
773デフォルトの名無しさん
2024/02/14(水) 13:09:31.24ID:aR1xhX8a おれたちは欠陥と共存してよりよいプログラミングスタイルを目指すべき
774デフォルトの名無しさん
2024/02/14(水) 13:16:05.40ID:eD+V22zq drawという名前のメソッドを作ったらそれらが全部ダックタイピングとして使われうることを想定しないといけないのきつすぎる
適当な名前つけたら想定外の使われ方をすることをケアしないといけないわけだ
適当な名前つけたら想定外の使われ方をすることをケアしないといけないわけだ
775デフォルトの名無しさん
2024/02/14(水) 13:33:10.33ID:Q08aEmFz 境界知能が可視化されてる
776デフォルトの名無しさん
2024/02/14(水) 13:53:52.28ID:Z6/Yikm0777デフォルトの名無しさん
2024/02/14(水) 13:55:32.21ID:eD+V22zq778デフォルトの名無しさん
2024/02/14(水) 13:57:04.55ID:s22bd+Hs >>775
お前のこと?
お前のこと?
779デフォルトの名無しさん
2024/02/14(水) 14:31:04.48ID:h4S8S2sP >>777
これな
これな
780デフォルトの名無しさん
2024/02/14(水) 14:41:15.13ID:3OoaoCBc781デフォルトの名無しさん
2024/02/14(水) 15:12:12.70ID:s2Ev9A6j782デフォルトの名無しさん
2024/02/14(水) 15:36:36.14ID:S2bQYQek >>764
Rustで++は排除されている
理由はたくさんあるようだが
例えば今回のそのCコードは*dst++では動かず(*dst)++とする必要があるようにミスが増えるとか
前置と後置の間違いミスも多いことに加えて
生ポインタはsafe Rustから排除されたため*ptr++の形が出て来ないことや
move/copy問題もあったかな
Rustで++は排除されている
理由はたくさんあるようだが
例えば今回のそのCコードは*dst++では動かず(*dst)++とする必要があるようにミスが増えるとか
前置と後置の間違いミスも多いことに加えて
生ポインタはsafe Rustから排除されたため*ptr++の形が出て来ないことや
move/copy問題もあったかな
783デフォルトの名無しさん
2024/02/14(水) 16:02:27.29ID:3OoaoCBc784デフォルトの名無しさん
2024/02/14(水) 16:29:39.74ID:ona7PgM1 >>783
おまえ質問してる分際でキチガイなのか?
そういう態度を改めないなら二度と教えてやらんぞ
fn increment(dest: &mut u32) -> u32 {
std::mem::replace(dest, *dest + 1)
}
おまえ質問してる分際でキチガイなのか?
そういう態度を改めないなら二度と教えてやらんぞ
fn increment(dest: &mut u32) -> u32 {
std::mem::replace(dest, *dest + 1)
}
785デフォルトの名無しさん
2024/02/14(水) 16:36:51.93ID:b+wxXawK 質問している人間相手なら関係ないことを書いて良いわけではない
786デフォルトの名無しさん
2024/02/14(水) 16:42:22.39ID:3OoaoCBc >>784
結果的に役に立たないことがあってもしょうがないですが、関係ないことをアンカーで書くのは正当化できない迷惑行為です。
質問者 (特に初心者?) には迷惑をかけてよいと考えているのだとしたらそれは改めるべき悪です。
結果的に役に立たないことがあってもしょうがないですが、関係ないことをアンカーで書くのは正当化できない迷惑行為です。
質問者 (特に初心者?) には迷惑をかけてよいと考えているのだとしたらそれは改めるべき悪です。
787デフォルトの名無しさん
2024/02/14(水) 16:46:13.61ID:L7EuZktb ついに存在しないCコードの幻覚が見えるようになってしまった複製おじさん……
788デフォルトの名無しさん
2024/02/14(水) 16:46:26.67ID:b+wxXawK 一方、質問文を誤読して解答してしまった人間に対して強く当たって良いわけでもない
789デフォルトの名無しさん
2024/02/14(水) 16:51:03.66ID:3OoaoCBc790デフォルトの名無しさん
2024/02/14(水) 17:05:32.23ID:ZK4bCcm/ 人間の注意力読解力は実際この程度なので、人間にC++を扱うことは難しい
791デフォルトの名無しさん
2024/02/14(水) 17:06:20.11ID:Q08aEmFz だから境界知能なんでしょ
792デフォルトの名無しさん
2024/02/14(水) 17:19:45.82ID:qgmjNVo3 腹立てるのもわからなくはないがそんなにキレてレスするようなことではないだろ
気に入らなかったらスルーする程度には心に余裕を持っておこう
気に入らなかったらスルーする程度には心に余裕を持っておこう
793デフォルトの名無しさん
2024/02/14(水) 17:26:03.70ID:h4S8S2sP tmuxよりscreen派だよ。
794デフォルトの名無しさん
2024/02/14(水) 17:50:47.59ID:6CXfQ6Kw 個人的には後置インクリメントだけを関数化するのは微妙に感じる
fetch_addとかは必要性を理解できるけど単純なpost_addやpost_incrementは一段階上の処理を関数化するので十分でそのほうが見通しがいいように思う
fetch_addとかは必要性を理解できるけど単純なpost_addやpost_incrementは一段階上の処理を関数化するので十分でそのほうが見通しがいいように思う
795デフォルトの名無しさん
2024/02/14(水) 19:51:05.67ID:7rKeAYke >>762
こういう偉そうなこと散々言ってたhaskellがなぜ流行らなかったのかすら理解できてないというのが愚かだよね。
こういう偉そうなこと散々言ってたhaskellがなぜ流行らなかったのかすら理解できてないというのが愚かだよね。
796デフォルトの名無しさん
2024/02/14(水) 19:57:21.78ID:b46uhNiQ797デフォルトの名無しさん
2024/02/14(水) 20:14:14.28ID:yh2p7tDo >>796
C++では機能の異なる同名メソッドを区別できないから欠陥品
C++では機能の異なる同名メソッドを区別できないから欠陥品
798デフォルトの名無しさん
2024/02/14(水) 20:52:10.35ID:b46uhNiQ >>797
引数・戻り値で区別できるだろ。
引数・戻り値で区別できるだろ。
799デフォルトの名無しさん
2024/02/14(水) 21:01:37.45ID:yh2p7tDo >>798
それに依存してしまうのがC++の限界
それに依存してしまうのがC++の限界
800デフォルトの名無しさん
2024/02/14(水) 21:18:41.79ID:b46uhNiQ >>799
名前も引数も戻り値も区別できないんだったら、ダックタイピングで呼び出す側はそもそも区別する必要あるんですかねぇ。
名前も引数も戻り値も区別できないんだったら、ダックタイピングで呼び出す側はそもそも区別する必要あるんですかねぇ。
801デフォルトの名無しさん
2024/02/14(水) 21:58:58.38ID:H5X+9PTs802デフォルトの名無しさん
2024/02/14(水) 22:13:29.10ID:uLd8jazY■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国、水産物輸入停止と通達 日本政府に ★2 [おっさん友の会★]
- 中国側が首相答弁の撤回要求、日本側拒否★6 [夜のけいちゃん★]
- 「厚かましい挑発的発言だ」中国国連大使が高市首相発言に強く反発 日本の常任理事国入りに明確に反対 [ぐれ★]
- 【速報】 米大使「はっきりさせておこう、米国は尖閣諸島含め日本の防衛に全面コミット、中国がどうしようが変わらない」 [お断り★]
- 自民、経済対策で子ども1人に2万円給付へ 児童手当に上乗せ 所要額は約4000億円 [ぐれ★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 ★3 [蚤の市★]
- 【朗報】ウヨの姫小野田大臣、吠える「何か気に入らないことがあったらすぐに経済威圧をする国に依存するのはリスク」脱アメリカを宣言 [856698234]
- 【高市訃報】ホタテ業者、死亡😇😇😇 [573041775]
- 高市早苗 「靖国神社電撃参拝」説が浮上 [163661708]
- 米タイム紙、日中の台湾問題を全力解説で中国の高市早苗批判を全力で拡散。ネトウヨは英語で反論がんばって! [792931474]
- 高市「台湾有事は日本有事!」中国「へぇ、じゃあ渡航規制&水産物輸入停止な」日本、数兆円の莫大な経済的損失で逝く [165981677]
- 【終国悲報】高市早苗、たったの10日で莫大な経済的損失を叩き出す [165981677]
