C/C++

C/C++

C++11の型推論

C++11では型推論という仕様が追加されている。これは従来のC++では行えなかった変数の型を関数あるいは計算式などからコンパイラが自動的に判別するというもので、うまく使えばこれまで長い記述を必要としたコードが簡潔にまとめられるようになる。
C/C++

C/C++プログラミング入門 – ループ処理

『C/C++プログラミング入門 - 条件分岐』ではC言語およびC++における条件分岐について説明した。ここでは、ループ処理について説明したい。
C/C++

C/C++プログラミング入門 – 条件分岐

『C/C++プログラミング入門 – 変数と型』では変数と型について説明を行った。ここでは条件分岐について説明を行いたい。
C/C++

Windows環境でLLVM/clangを構築するのは滅茶苦茶困難

MacおよびiOS環境のデフォルトのコンパイラーとして使われているLLVM/clangだが、Windows環境で導入するにはかなりの困難が伴う。私もWindows 10 Proを用いていくつかのウェブ資料を元に環境構築に努めてみたが、現時点...
C/C++

C言語とC++のファイルの拡張子について

C言語およびC++、およびそれに加えてObjective-CやObjective-C++ではマクロ展開 ((実際にコンパイルする前に特定の文字列を別の文字列に機械的に置き換える処理)) やインライン展開 ((コンパイル時に実際の処理を呼び出...
C/C++

C/C++プログラミング入門 – 変数と型

「C/C++プログラミング入門 – もっと複雑な計算を行う」及び「C/C++プログラミング入門 – 計算を行う」ではC言語及びC++における計算について説明を行った。ここでは変数について変数の宣言、代入、参照について説明を行いたい。 変数 ...
C/C++

C/C++プログラミング入門 – もっと複雑な計算を行う

C/C++プログラミング入門 – 計算を行うでは、簡単な計算を行った。ここでは、より複雑な計算方法を行ってみたい。 複雑な計算 まずは、以下の計算式の答えはいくらになるだろうか? 3 + 4 × 12 − 6 ÷ 3 これを知るために以下の...
C/C++

C/C++における整数型には気をつけよ

C言語とC++では整数を扱う型として、intをはじめ、longやshort型などが扱われている。ちなみに、これらは実際には一定のバイト幅のメモリーに割り当てられるのだが、これが実に曲者で、実際の環境に応じてそれぞれの型でビット幅のサイズが異...
C/C++

C/C++プログラミング入門 – 計算を行う

『C/C++プログラミング入門 – はじめてのプログラミング』ではごく簡単なhello,worldを表示するだけのプログラムを作成した。今回の記事では簡単な計算の結果を出力するといったことを行ってみよう。 加減乗除 コンピューターは計算機だ...
C/C++

C/C++プログラミング入門 – はじめてのプログラミング

『C/C++プログラミング入門 - 環境構築』ではWindows、OS X、GNU/LinuxシステムごとにCおよびC++の開発環境の構築方法を説明した。ここでは、実際にプログラミングを書いてみよう。ここでは、はじめてのプログラミングとして...
C/C++

C/C++プログラミング入門 – 環境構築

『C/C++プログラミング入門 – プログラミングで必要なもの』ではCおよびC++のプログラミングに必要なものを一通り説明した。ここでは実際にプログラミング環境を構築できるようにしたい。なお、ここではWindows(Visual Studi...
C/C++

Homebrewで行うcocos2d-x環境構築法

『cocos2d-x環境構築(Win/Mac両対応)』ではWindowsおよびMacを対象にAndroid環境も視野に入れたcocos2d-x環境構築法を指南したが、Mac環境においてHomebrewを使う場合、もっと簡単に環境構築が行える...
C/C++

C/C++プログラミング入門 – プログラミングで必要なもの

『C/C++プログラミング入門 – C/C++とは』ではC言語およびC++のプログラミング入門にあたってのそれぞれの概要を説明したが、この項目では実際にC言語およびC++でプログラミングをはじめるにあたって必要なツール類を説明したい。
C/C++

C/C++プログラミング入門 – C/C++とは

『Javaプログラミング入門 – Javaとは』とは別途、本記事からC及びC++プログラミング入門についても、行ってみたい。C及びC++はObjective-Cと並んで私が主に使っている言語の一つで、主に組み込み系のアプリやスマートフォン/...
C/C++

C++でgetter/setterをマクロで宣言・定義してしまう

ここではC++を使って開発を行っている方向けにsetterとgetterを簡単に記述するマクロを伝授したい。特にクラスでメンバー変数の値を取得したりセットしたりするような方にとってはかなり重宝するだろう。なお、この方法はcocos2d-xで...
C/C++

cocos2d-x環境構築(Win/Mac両対応)

2Dゲーム環境ではそれなりに使われているcocos2d-xであるが、これの大きな特徴は基本的に単一のソースコードで複数のプラットフォームに対応したアプリを開発できるという大きなメリットを持っている。使用する言語は基本的にはC++、あとはLu...
C/C++

paizaオンラインハッカソン Vol.5に参加してみた (ミッションMINAMI)

paizaオンラインハッカソン Vol.5に参加してみた。今回は前回の記事『paizaオンラインハッカソン Vol.5に参加してみた』に続いて、ミッションMINAMIのコードを書いてみた。詳細については、これから述べたい。 ミッションMIN...
C/C++

paizaオンラインハッカソン Vol.5に参加してみた

せっかくなので、paizaオンラインハッカソン Vol.5に参加してみた。どう見ても某ラノベをパクったタイトルなのはさておき、今回はC++で書いてみた。私が実際に書いたコードと簡単な解説を以下に記述してみたい。
C/C++

ラムダ計算を使う

関数(メソッド)として定義するような処理を、あたかも変数のように定義できたり、引数として渡したりできるような機能を使っているだろうか?C++11以降ではラムダ式が、最近のバージョンのObjective-C ((正確にはLLVM Clangで...
C/C++

ブーリアンを引数とする変数にポインタをそのまま渡してはいけない

これは当方が実際にやって気づいたことであるが、ブーリアンを引数とする関数にポインタをそのまま渡してしまうと意図せぬ動作になってしまう。特にポインタがNULLかどうかを判定して挙動を振り分けようとする際にはバグの原因となる。 例えば以下のよう...