Tag
Programming
Programmingタグの記事一覧です。
記事
C++で関数引数をconst参照にするか値渡しにするか
C++で関数引数をconst T&、T、T&&のどれにするか、読み取り、コピー、ムーブの観点から整理します。
C++で値がないかもしれない戻り値にstd::optionalを使う
C++で検索結果や変換結果が存在しない可能性をstd::optionalで表す方法、nullptrや例外との使い分けを整理します。
C++でstd::moveを使うときに気をつけること
C++のstd::moveが実際には移動処理を行うわけではないこと、move後のオブジェクトの扱い、return時の注意点を整理します。
C++でunique_ptrとshared_ptrを使い分ける目安
C++でstd::unique_ptrとstd::shared_ptrをどう使い分けるか、所有権とライフタイムの考え方から整理します。
C++でvectorに要素を追加するときのreserveとemplace_back
C++のstd::vectorでreserve、push_back、emplace_backをどう使うか、再確保と要素追加の観点から整理します。
Swiftのactorで状態を守るときに見ること
Swift Concurrencyのactorで共有状態を守る考え方、awaitが必要になる理由、MainActorとの違いを整理します。
Swiftでasync/awaitとTaskを使うときに最初に見ること
Swiftでasync/awaitを使うときの非同期関数、Task、MainActorへの反映を最小構成で整理します。
SwiftのクロージャとselfのキャプチャをC++ラムダ感覚で整理する
Swiftのclosure、trailing closure、escaping、selfキャプチャを、C++のlambda captureと比べながら整理します。
SwiftのCodableでJSONのキー名が合わないときの設定
SwiftのCodableでsnake_caseのJSONをcamelCaseのプロパティに変換するkeyDecodingStrategyとCodingKeysの使い分けを整理します。
Swiftの計算プロパティをC++のgetter感覚で読むときに気をつけること
Swiftのcomputed propertyを、C++のgetter/setterやメンバ変数の感覚と比べながら、stored propertyとの違いを整理します。
SwiftのenumはC++のenum classよりsum typeとして見ると分かりやすい
Swiftのenum、associated values、switchを、C++のenum classやstd::variantの感覚と比べながら整理します。
Swiftの関数引数でラベルとinoutに詰まったときに見ること
Swiftの関数引数ラベル、外部引数名、_、inoutを、C++の関数呼び出しや参照渡しの感覚と比べながら整理します。
SwiftのGenericsとwhere句をC++テンプレート感覚で読む
SwiftのGenerics、型制約、where句を、C++テンプレートやconceptsの感覚と比べながら整理します。
Swiftの@MainActorをUIスレッドの所有権として見る
Swiftの@MainActor、MainActor.run、UI状態更新を、C++のメインスレッド制約の感覚と比べながら整理します。
SwiftのOptionalをC++のnullptrやstd::optionalと比べて整理する
SwiftのOptional、nil、if let、guard let、!を、C++のnullptrやstd::optionalの感覚と比べながら整理します。
SwiftのprotocolとextensionをC++のinterface感覚から整理する
Swiftのprotocol、extension、default implementationを、C++の抽象クラスや自由関数の感覚と比べながら整理します。
SwiftでResultとthrowsを使い分ける目安
Swiftで失敗する処理をResultで返すかthrowsにするか、同期処理、非同期処理、状態として保持する場合から整理します。
C++が分かる人向けにSwiftのstructとclassの違いを整理する
Swiftのstructとclassの違いを、C++の値型、参照、コピー、ミュータブル操作の感覚と比べながら整理します。
SwiftのthrowsとtryをC++例外と比べて整理する
Swiftのthrows、try、do-catch、Resultとの違いを、C++例外の感覚と比べながら整理します。