int型やfloat型をひっくるめて何というか? 公開日:2021年5月29日 プログラミング技術情報 タイトル通りのことがときどき話題になります。ささいなことなのですが、C言語やその派生言語でプログラミングしている方々に役に立つかも知れませんので書き留めておきます。 これについては、C言語の標準規格で明確に定義されていま […] 続きを読む
使ってはならないのは「goto」ではない 公開日:2021年5月29日 プログラミング技術情報 「goto禁止」を謳うコーディング規約は少なくありません。理由を尋ねると、おおむね返ってくる答えは同じで「gotoを使うとスパゲッティプログラムになるから」ということのようです。私は最近でも「goto」を使ったプログラム […] 続きを読む
意外に知られていない && と || の短絡評価 公開日:2021年5月28日 プログラミング技術情報 以前学生から聞いた話なのですが、C言語やC++やC#などを一通り学んでいても、意外に&&や||といった演算子の短絡評価を知らないそうです。 その当時、ちょっと入門サイトをいくつか調べてみましたが、確か […] 続きを読む
new[ ] で確保した配列の要素数を取得する方法? 公開日:2021年5月28日 プログラミング技術情報象の卵を探して…… これを実現するには、operator new[]とoperator delete[]を定義しなおす必要があります。以下に具体例を示します。 [crayon-6740d5405cd58973332851/] 実際にはこれ以 […] 続きを読む
_Pragma演算子を使ってみた。 公開日:2021年5月27日 プログラミング技術情報 以前から存在は知っていたけれど、使ったことがないものというのは少なからずあります。私にとって、_Pragma演算子もそのひとつでした。 _Pragma演算子というのはC99で導入された前処理演算子で、C++でもC++11 […] 続きを読む
構造体/共用体のエンディアン? 公開日:2021年5月27日 プログラミング技術情報象の卵を探して…… この命題に取り組む前に、エンディアンの定義について確認しておくことにします。通常は、バイトオーダー、すなわちバイト単位での配置方式または配置順序のことですが、ここではnoocyteさんによる下記の定義を踏襲することにしま […] 続きを読む
1ビットマイコンという「いちびった」存在 公開日:2021年5月26日 技術情報 こんにちは高木です。今回も別ブログの記事からのリライトです。 以前、社内でちょっとしたことが話題になりました。1ビットマイコンがそれです。 8ビットマイコンとか4ビットマイコンといったローエンドのマイコンなら普通に使われ […] 続きを読む
構造体のメンバ数の取得方法? 更新日:2021年5月27日 公開日:2021年5月26日 プログラミング技術情報象の卵を探して…… C言語の構造体のメンバ数を取得したいという要望があるようです。C言語の構造体は、あくまでもコンパイル時だけの概念であり、実行時には情報が失われてしまいます。ですので、実行時にメンバ数やメンバの型、あるいはメンバ名を取得す […] 続きを読む
浮動小数点数を使わずに円周率の計算をする 公開日:2021年5月25日 プログラミング技術情報 こんにちは高木です。今回も別サイトで過去に投稿した内容のリライトになります。 今回の内容は特定のプログラミング言語に依存した内容ではありませんし、おそらくプログラミング以外でも役に立つのではないかと思っています。 プログ […] 続きを読む
生のナル終端文字列を使わずにC++のプログラムを書けるか? 公開日:2021年5月24日 プログラミング技術情報 こんにちは高木です。今回も別サイトで過去に投稿した内容のリライトになります。 先日書いたように、C++の触りだけを学習するのであれば、ナル終端文字列を使わずにstd::stringで代用できそうです。では、std::st […] 続きを読む