C++

 Computer >> コンピューター >  >> プログラミング >> C++
  1. C++でべき乗(pow)関数を自作する方法

    べき乗関数(power function)は、基数と指数という2つの数値を受け取り、基数を指数回だけ掛け合わせた結果(累乗)を求めるための関数です。例を見てみましょう。基数 = 2 指数 = 5 2^5 = 32 つまり、2の5乗は32になります。ここでは、標準ライブラリの pow() 関数に頼らず、C++でべき乗計算を自前で実装する方法を紹介します。サンプルプログラム#include <iostream> using namespace std; int main(){ int x, y, ans = 1; cout << 基数を入力してくださ

  2. C++におけるmain関数の正しい宣言方法を解説

    C++におけるmain関数の役割main()関数はグローバル関数であり、プログラムの実行を開始するためのエントリーポイントとして機能します。すべてのC++プログラムには必ずmain()関数が必要です。また、コマンドライン引数であるargcとargvは省略可能です。main関数の標準的なプロトタイプmain()関数の標準的な宣言は、以下の2通りがあります。int main() { 本体 } または int main(int argc, char *argv[]) { 本体 }引数の意味argc − プログラムが実行される環境から、そのプログラムへ渡される引数の数を表します。argv − 引数

  3. C++の列挙型(enum)の使い方をわかりやすく解説

    列挙型(enum)とは列挙型は、C/C++言語におけるユーザー定義型の一つです。整数定数に分かりやすい名前を付けるために使用され、プログラムの可読性と保守性を大きく向上させます。列挙型を宣言するには、キーワード「enum」を使用します。列挙型の基本構文enumの基本的な書式は以下の通りです。enum 列挙型名{定数1, 定数2, ....... };各要素の意味は次のようになります。列挙型名 − ユーザーが自由に付けることのできる任意の名前です。定数1、定数2 − 列挙型に含まれる識別子(値)です。列挙型変数の定義方法enumキーワードは、列挙型の変数を定義する際にも使用できます。主な定義方法

  4. C++における静的メンバーの定義方法と使い方を解説

    C++のクラスにおける静的メンバーは、staticキーワードを使用して定義できます。静的メンバーは、クラスのオブジェクトがいくつ生成されていても、メモリ上にはただ一つのコピーしか存在しません。そのため、静的メンバーはそのクラスのすべてのオブジェクトによって共有されることになります。静的メンバーは、明示的に初期化しない場合、クラスの最初のオブジェクトが生成された時点で自動的にゼロに初期化されます。以下に、静的メンバーの定義方法を示すサンプルプログラムを紹介します。サンプルコード#include <iostream> using namespace std; class Point{

  5. C++でコードスニペットの実行時間を計測する方法をわかりやすく解説

    C++では、chronoヘッダーが提供する機能を使うことで、コードスニペットの実行時間を簡単に計測できます。基本的な構文は以下のとおりです。auto start = high_resolution_clock::now(); // 計測開始時刻 // 計測したいコードスニペット auto stop = high_resolution_clock::now(); // 計測終了時刻 auto duration = duration_cast<microseconds>(stop - start); // 経過時間chronoヘッダーとはhigh_resolution_clockクラス

  6. C++でゼロ除算(0除算)エラーをキャッチする方法【例外処理の基本】

    C++では、例外処理(try-catch構文)を利用することで、ゼロ除算(0で割り算を行う)エラーを安全に捕捉できます。特に整数型の演算で0除算が発生すると未定義動作となり、プログラムが異常終了する恐れがあるため、割る数が0かどうかを事前にチェックし、例外を投げる仕組みを実装することが重要です。 以下に、ゼロ除算エラーをキャッチする基本的なサンプルコードを示します。 サンプルコード #include <iostream> using namespace std; int display(int x, int y) { if( y == 0 ) { thro

  7. C++での変数の初期化|静的初期化と動的初期化の違いを解説

    C++における変数の初期化とは 変数とは、ユーザーが任意につける名前のことで、データを格納するための「箱」のような役割を持ちます。変数を宣言・初期化する際にはデータ型を使用し、その変数用のメモリが割り当てられます。C++にはint(整数型)、char(文字型)、float(浮動小数点型)など、用途に応じたさまざまなデータ型が用意されています。 変数の初期化方法は、大きく分けて次の2つがあります。 静的初期化(static initialization) − プログラムのコード内であらかじめ値を代入する方法 動的初期化(dynamic initialization) − プログラムの実行時(

  8. なぜC++ではmalloc()の戻り値に明示的なキャストが必要なのに、C言語では不要なのか?

    はじめに:両言語の決定的な違いC言語では、voidポインタからオブジェクトポインタ型への暗黙的な変換が自動的に行われます。C89標準においてmalloc()関数はvoid*を返すため、その戻り値は任意のポインタ変数にそのまま代入でき、明示的なキャストは不要です(なお、それより前の初期のC言語ではchar*を返していました)。一方、C++では型安全性を高めるという設計思想により、void*から他のポインタ型への暗黙的な変換が禁止されています。このため、C++でmalloc()を使用する場合は、戻り値を目的のポインタ型へ明示的にキャストしなければなりません。C言語でのメモリ確保の構文pointer

  9. 【C++入門】関数から配列を返す方法|ポインタとstatic変数を使った実装テクニック

    C++では、配列全体をそのまま関数の戻り値として返すことはできません。しかし、配列へのポインタを返すことで、実質的に同じ目的を達成することが可能です。ここで注意すべき点が1つあります。関数内で宣言された通常のローカル変数(自動変数)は、関数の処理が終了すると同時にメモリから破棄されるため、そのアドレスを関数の外へ返しても正しく動作しません。この問題を解決するのがstatic変数です。ローカル変数を static として宣言すると、その変数はプログラムの実行中ずっとメモリ上に保持されるため、関数が終了した後もアドレスを安全に参照できるようになります。ポインタを返す関数の基本構文配列へのポインタを

  10. C++で単一の文字をint型に変換する方法

    C++では、文字(char)を整数値(int)に変換する場面がよくあります。たとえば、ユーザー入力から数字の文字を取り出して数値として計算したい場合などです。本記事では、ASCIIコードを利用した基本的な変換方法を、サンプルコードとともにわかりやすく解説します。 変換の基本原理 コンピュータ上で文字は内部的にASCIIコードと呼ばれる数値として扱われています。数字の「0」〜「9」は、ASCIIコードで48〜57に対応しています。そのため、文字から48(つまり文字0)を引くことで、対応する整数値を求めることができます。 サンプルコード 以下は、文字をint型に変換する具体例です。 #includ

  11. C++のintとlongの違いとは?サイズ・範囲・使い分けを徹底解説

    はじめにC++には整数を扱うためのデータ型が複数用意されており、その中でも特によく使われるのが「int」と「long」です。どちらも整数値を格納できますが、メモリサイズや扱える数値の範囲が異なります。本記事では、それぞれの特徴と具体的なコード例、そして両者の違いについてわかりやすく解説します。 int型とはint型は整数値を格納するための基本的なデータ型です。符号付き(signed)と符号なし(unsigned)の両方があり、一般的な環境では32ビット(4バイト)です。long型と比べて必要なメモリ領域が小さく、日常的な整数処理で最も広く使われています。変数を宣言する際はキーワード「int」を

  12. C++の参照変数とは?特徴と使い方を実例付きで解説

    C++の参照変数とは 参照変数(リファレンス変数)とは、すでに存在する変数につける「別名」のことです。元の変数と同じメモリ領域を共有するため、参照変数を通じて値を読み書きすると、元の変数の値が直接変更されます。 参照変数には、主に以下のような特徴があります。 宣言と同時に必ず初期化する必要がある 一度初期化したら、別の変数を参照するように付け替えることはできない NULL(nullptr)にすることはできない 参照変数を宣言する際には、「&」(アンパサンド)演算子を使用します。 参照変数の宣言方法(構文) 参照変数の基本的な構文は次のとおりです。 datatype variabl

  13. 【C++】派生クラスの関数から親クラスの関数を呼び出す方法

    C++では、親クラスと同じ名前の関数を派生クラスで再定義(オーバーライド)した場合でも、スコープ解決演算子「::」を使えば、派生クラスの関数の中から親クラスの関数を明示的に呼び出すことができます。以下に、その基本的な例を示します。 サンプルコード #include <bits/stdc++.h> using namespace std; class p1 { public: void first() { cout << \nThe parent class p1 function is called.; } }; class d

  14. C++の空のクラスのオブジェクトサイズは1バイト?sizeofで確認する方法

    C++では、メンバ変数を一切持たない「空のクラス」であっても、そのオブジェクト(インスタンス)のサイズは1バイトになります。一見不思議に感じますが、これには言語仕様上の明確な理由があります。ここでは、実際のコードでその挙動を確認してみましょう。 空のクラスのサイズを確認するサンプルコード #include <bits/stdc++.h> using namespace std; class p1 { public: void first() { cout << \nThe parent class p1 function is calle

  15. C++におけるクラスと構造体の使い分け:どちらをいつ使うべきか?

    C++において、クラスと構造体は非常によく似た機能を持ちますが、いくつかの重要な違いが存在します。本記事では、これらの違いについて詳しく解説し、C++でクラスと構造体のどちらを使うべきかを判断するための指針を提供します。クラスと構造体の主な違い最も基本的な違いは、メンバーのデフォルトのアクセス指定子にあります。クラスのすべてのメンバーはデフォルトでprivate(非公開)になります。一方、構造体のすべてのメンバーはデフォルトでpublic(公開)になります。クラスの例以下のプログラムは、C++におけるクラスの動作を示したものです。#include <iostream> using

  16. C++の静的変数(static変数)の有効期間は?プログラム終了まで生存する仕組みを解説

    静的変数(static変数)とは 静的変数とは、static キーワードを使って宣言された変数のことです。静的変数に必要なメモリ領域は一度だけ割り当てられ、その領域はプログラム全体を通して使い続けられます。 通常のローカル変数は、関数が呼び出されるたびに新しく生成され、関数が終了すると破棄されます。一方、静的変数は一度宣言されると、プログラムが実行されている間ずっと存在し続けるという点が大きく異なります。 静的変数の有効期間 静的変数の有効期間は、プログラムの有効期間と同じです。つまり、プログラムの開始から終了まで、値が保持され続けます。 また、C++の静的変数には以下のような特徴があります。

  17. C++でオブジェクトを返す方法とは?サンプルコードでわかりやすく解説

    オブジェクトとは、クラスから生成される実体(インスタンス)のことです。メモリが割り当てられるのはクラスを定義した時ではなく、オブジェクトを実際に生成した時点です。 C++では、関数内でreturnキーワードを使うことで、オブジェクトをそのまま戻り値として返すことができます。以下に、Pointクラスを使った具体的なサンプルコードを示します。 サンプルコード #include <iostream> using namespace std; class Point { private: int x; int y; public: Point(in

  18. C++のポリモーフィズム(多態性)とは?関数オーバーロードを使った実例付き解説

    ポリモーフィズム(多態性)は、オブジェクト指向プログラミングにおける最も重要な概念の一つで、「同じインターフェースが複数の異なる形を取る」ことを意味します。C++では、ポリモーフィズムは大きく次の2種類に分類されます。コンパイル時ポリモーフィズム:関数オーバーロードや演算子オーバーロードが代表例です。どの関数を呼び出すかはコンパイル時に決定されます。実行時ポリモーフィズム:仮想関数(virtual関数)による関数オーバーライドが代表例です。実際に呼び出される関数は実行時に決定されます。この記事では、その中でも分かりやすい関数オーバーロードを使ったコンパイル時ポリモーフィズムのサンプルコードを紹

  19. C++で派生クラスからprotectedメンバーにアクセスする方法を徹底解説

    C++のクラスには、public・private・protectedという3種類のアクセス指定子があり、それぞれ対応するクラスメンバーを管理します。クラス内のprotectedメンバーは、クラスの外部から直接アクセスできないという点でprivateメンバーとよく似ています。ただし、両者には重要な違いがあります。protectedメンバーは派生クラス(子クラス)からアクセス可能である一方、privateメンバーは派生クラスからでもアクセスできません。この性質により、protectedは継承関係にあるクラス間でデータや機能を共有したい場合に非常に便利です。 サンプルプログラム 以下は、C++で派生

  20. C++のprivateメンバーとprotectedメンバーの違いを徹底解説

    C++のクラスには、public(公開)、private(非公開)、protected(保護)という3種類のアクセス指定子があり、それぞれ対応するクラスメンバーへのアクセスレベルを制御します。本記事では、特に混同されやすいprivateメンバーとprotectedメンバーの違いについて、サンプルコードを交えながら詳しく解説します。 privateメンバーとは privateとして宣言されたデータメンバーは、クラスの外部から直接アクセスすることができません。アクセスできるのは、そのクラス自身のメンバー関数、あるいはfriend関数・friendクラスのみです。 また、アクセス指定子を明示しなか

Total 5990 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:25/300  20-コンピューター/Page Goto:1 19 20 21 22 23 24 25 26 27 28 29 30 31