C++ で独自 string クラスを実装する手順
はじめに
本稿では、C++ 標準ライブラリの std::string に似た独自の文字列クラスをゼロから実装する方法を解説します。
標準ライブラリとの混同を避けるため、すべてのコードを MyString という名前空間内に記述します。
メンバ変数
以下の3つのメンバ変数を用います。
char* data_ : 文字列本体(終端 '\0' を含む動的確保領域)
size_t len_ : 現在の文字列長( ...
8月3日 22:46 投稿
C++におけるクラスとオブジェクトの基本
クラスは、データ(属性)とそのデータを操作する関数(メソッド)を一つの単位としてまとめる仕組みです。この統合により、現実世界の概念をコード上で自然に表現できます。
アクセス制御
メンバーには public、private、protected のアクセス修飾子を指定でき、外部からのアクセス範囲を制御します。friend 宣言された関数やクラスは、private や protected メンバーに ...
7月1日 19:34 投稿
C++の高度な機能:右辺値参照とムーブセマンティクス
1、右辺値参照とムーブセマンティクス
以前の学習で右辺値参照と左辺値参照の違いを理解しました。右辺値参照は存在しないアドレスを持つ一時変数を参照するために使用されますが、正確には「右辺値参照は実際の名前を持たない値を参照するために使用されます」
右辺値参照の主な使用目的はムーブコンストラクタにあり、右辺値参照の出現はコピーコンストラクタとムーブコ ...
6月19日 22:10 投稿