整数値から2進数への変換 公開日:2021年6月24日 C++サンプル集プログラミング技術情報 printf系関数を使っても、標準ストリームのマニピュレータを使っても、8進数、10進数、16進数に変換することはできても、2進数に変換することはできません(処理系の独自拡張で変換できることはあります)。しかし、std: […] 続きを読む
定数を使う 公開日:2021年6月23日 C++サンプル集プログラミング技術情報 C++でいう「定数」というのは、例えば「1234」のような即値のことです。それはそれとして、ここでは何らかの名前を使って値を参照することができる、一般的な意味での定数について解説することにします。値を変更できない変数のよ […] 続きを読む
安全なgets 公開日:2021年6月22日 C++サンプル集プログラミング技術情報 嫌われ者のgets関数ですが、C11ではついに廃止になってしまいました。そんなgets関数ですが、とりあえずバッファオーバーランだけ防ぐことができれば、それなりに便利に使うことができます。そこで、今回はバッファオーバーラ […] 続きを読む
続・変数を使う 公開日:2021年6月21日 C++サンプル集プログラミング技術情報 前回の「変数を使う」に引き続き、C++における変数の使い方を紹介していきます。今回はC++11以降で導入された仕様である「一様初期化」と「型推論」を中心について説明します。 一様初期化 一様初期化というのは、簡単にいえば […] 続きを読む
変数を使う 公開日:2021年6月20日 C++サンプル集プログラミング技術情報 C++では、本来「変数」とはいわず「オブジェクト」といいます。これは、いわゆるオブジェクト指向におけるオブジェクトではなく、メモリ上に配置される変数や定数をひっくるめたものと考えてかまいません。「変数」という呼び方もない […] 続きを読む
[迷信] 非局所オブジェクトは外部結合 公開日:2021年6月19日 C/C++迷信集プログラミング技術情報 今回のタイトルはやや分かりにくいかもしれません。「非局所オブジェクト」というのは、関数の外で宣言したオブジェクトのことです。いわゆる「グローバル変数」とほぼ同じと考えてください。 さて、関数の外で宣言された「非局所オブジ […] 続きを読む
[迷信] 識別子に使える文字は英数字と下線のみ 公開日:2021年6月19日 C/C++迷信集プログラミング技術情報 多くのC言語やC++の入門書の最初のほうには、変数名や関数名などの識別子に使える文字として、アルファベットの大文字・小文字、数字、下線(アンダースコア、アンダーバー)だけが使えると書いています。確かに初期のC言語の規格は […] 続きを読む
[迷信] 引用符で囲んだヘッダ名はカレントディレクトリから探索する 公開日:2021年6月18日 C/C++迷信集プログラミング技術情報 あるディレクトリ(~/srcとします)に、foo.cとbar.hという二つのソースファイルがあったとします。bar.hは、foo.cから次のようにインクルードしています。 [crayon-676fddf15b01e311 […] 続きを読む
[迷信] 割付けたメモリはプログラマが自分で解放しなければならない 公開日:2021年6月17日 C/C++迷信集プログラミング技術情報 動的に割付けたメモリは自分で解放しなければならない、ファイルをオープンすれば自分でクローズしなければならない、その他獲得したリソースは自分で解放しなければならないなど、これらは必ずしも間違ってはいません。実際、C言語では […] 続きを読む
[迷信] オブジェクトの動的生成に失敗するとメモリリークする 公開日:2021年6月16日 C/C++迷信集プログラミング技術情報 今回は「[迷信] コンストラクタから例外を送出してはならない」の続編ともいうべき内容です。コンストラクタで失敗した場合の通知方法には例外を用いるのが最良ですが、いろいろなケースを考えると不安になる方も多いようです。今回取 […] 続きを読む