モーダルを閉じる工作HardwareHub ロゴ画像

工作HardwareHubは、ロボット工作や電子工作に関する情報やモノが行き交うコミュニティサイトです。さらに詳しく

利用規約プライバシーポリシー に同意したうえでログインしてください。

アカウント プロフィール画像
低レイヤ大好き人間

低レイヤーのプログラミングとOS開発が趣味。C言語を使っています。

  • ライブラリを用いない OpenGL/EGL の使い方 (X11、Python)
    サムネイル画像-93ef003749
    コンピュータグラフィックスのレンダリングライブラリの一つ OpenGL はプラットフォームに依存しない仕様となっています。プラットフォームの一つに X11 があります。プラットフォームに依存する仕様は EGL (Embedded-System Graphics Library) にまとめられています。EGL は OpenGL とネイティブプラットフォームの間のインタフェースとして機能します。 Op...
    11/17/2023に更新
    いいねアイコン画像0
  • 例外 (C++をもう一度)
    基本的な構文 #include <iostream> #include <cstdlib> using namespace std; void MyFunc() { if(true) { throw "MyFunc"; } // 正常時の処理... } int main() { try { if (true) ...
    9/7/2021に更新
    いいねアイコン画像0
  • マクロ (C++をもう一度)
    サンプルコード集 引数のないマクロ #include <iostream> using namespace std; #define EPS (1e-7) #define INF 1e9 int main() { cout << EPS << endl; cout << INF << endl; return 0;...
    9/7/2021に更新
    いいねアイコン画像0
  • クラスの基本/継承およびアップキャストと仮想関数 (C++をもう一度)
    サンプルコード #include <iostream> using namespace std; class MyClass { public: // 外部からも派生クラスからも見える int Get() const; private: // 外部からも派生クラスからも見えない protected: // 外部からは見えないが派生クラスからは見える int m_intv...
    9/7/2021に更新
    いいねアイコン画像0
  • 演算子オーバーロード (C++をもう一度)
    基本的な代入演算子 #include <iostream> #include <algorithm> using namespace std; class MyClass { public: MyClass(int size); ~MyClass(); void operator=(const MyClass& other); // 演算子オ...
    9/7/2021に更新
    いいねアイコン画像0
  • クラステンプレート (C++をもう一度)
    サンプルコード my_class.h #ifndef MY_CLASS_H_ #define MY_CLASS_H_ // 関数テンプレート と同様、 // テンプレートは通常ヘッダファイルにすべてを記述する必要があります。 // ヘッダファイルでの using 使用は好ましくないため std::cout 等とします。 #include <iostream> template <...
    9/7/2021に更新
    いいねアイコン画像0
  • ファイルストリーム (C++をもう一度)
    テキストモード 読み込み input.txt 1 10 100 2 20 200 main.cpp #include <iostream> #include <fstream> #include <string> #include <cstdlib> // EXIT_FAILURE のため using namespace std; int main(...
    9/7/2021に更新
    いいねアイコン画像0
  • 基本型に関する豆知識 (C++をもう一度)
    ポインタ関連 参照とポインタの違い ポインタと参照の決定的な違いの一つは、指す先を後から変更できるかどうかというところにあります。 #include <iostream> using namespace std; int main() { // 参照 int m = 1; int n = 2; int& intref = m; intre...
    9/7/2021に更新
    いいねアイコン画像0
  • インタフェースクラス (C++をもう一度)
    C++にはJavaなどと異なりインタフェースという機能が存在しません。C++では純粋仮想関数と仮想デストラクタしかメンバをもたないクラスをインタフェースとして利用します。その際、多重継承や仮想継承の知識が必要になります。 多重継承 #include <iostream> using namespace std; class MyClass { public: virtual ~...
    9/7/2021に更新
    いいねアイコン画像0
  • 関数ポインタ関連 (C++をもう一度)
    一般の関数ポインタ #include <iostream> using namespace std; void MyFunc() { cout << "MyFunc" << endl; } int MyFuncA(int intval) { return intval; } int MyFuncB(int intval) { return...
    9/7/2021に更新
    いいねアイコン画像0
さらに読み込む