C++ 面接問題集:ポインタ、配列、const の基礎
1. for ループと while ループの変換
for 文は while 文に書き換え可能である。同様に do-while 文でも実現できる。条件判定のタイミングが異なるが、制御構造の本質は同じである。C++ ではループ制御の書き換えが容易であり、可読性向上のために適宜選択する。
2. 二次元配列の文字列出力
#include <cstring>
#include <cstdio>
int main() {
char data ...
6月12日 18:56 投稿
Rustのジェネリック型パラメータのデフォルト型と演算子オーバーロード
一、序論
ジェネリック型にデフォルト型を設定する機能は、多くの言語には存在しませんが、TypeScript(おそらく他にもいくつか)には例外があります。
TypeScriptでは以下のように使用できます:
class MyClass<T = number> {
value: T;
constructor(value: T) {
this.value = value;
}
printValue(): void {
console.log(`Value i ...
5月28日 19:06 投稿
PyTorch自動微分のリバースモード実装
基礎理論
演算子オーバーロード(OO)とリバースモード自動微分の概念を組み合わせた実装手法について解説する。Pythonを用いてPyTorchのコアメカニズムを再現する。
演算子オーバーロード手法
現代プログラミング言語の多態性を利用し、基本演算子の微分規則をカプセル化する。演算子の再定義により計算グラフを構築し、連鎖律で微分結果を合成する。
利点
実装 ...
5月16日 09:26 投稿
C++での日付クラスの実装(メモ)
これまでにC++のクラスとオブジェクトの基本を学び、日付クラスの一部を例として使用しました。この記事では、小さな日付クラスを実装します。
まず、VSで3つのファイルを作成します:
Test.cpp:日付クラスのテスト用ファイル
日常生活では、日付に対して整数日を加算または減算できます。例えば、2004年2月1日に3日を加えると、2004年2月4日になります。同様に減算も可能 ...
5月16日 03:19 投稿
C++クラスとオブジェクトの基本
1. クラスとオブジェクト
1.1 クラスの定義
C++では、classキーワードを使ってクラスを定義する。以下はスタックを表すクラスの例である:
#include <iostream>
using namespace std;
class Stack {
private:
int* _data;
int _index;
int _maxSize;
public:
void push() {}
void pop() {}
}; // セミコロンが必要
メンバー変数には慣習的に ...
5月15日 14:21 投稿