タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

C++に関するtermin2のブックマーク (4)

  • const unsigned char* をstring型へ変換 - techman999の日記

    C++でconst unsigned char*型の文字列をstring型に変換するときのメモ const unsigned char *tmp = "hoge"; string str = (reinterpret_cast(tmp)); C++でのキャストのメモ static_cast - 静的な普通の型変換 reinterpret_cast - ポインタや参照の関係する強引な型変換 - reinterpret(再解釈する)、re-interpret - const_cast - ポインタや参照のconstを外す型変換

    const unsigned char* をstring型へ変換 - techman999の日記
    termin2
    termin2 2015/04/02
  • イテレータ破壊の問題 - Qiita

    これはC++アドベントカレンダー2014の8日目の記事です。 ゲームの修羅場10に投稿した記事で「プログラムの落ちるポイント」の中で 4つほどポイントを紹介したのですが、その中の一つがイテレータ破壊です。 これは、ややこしいので、の方では軽く触れるだけで終わったのですが、 今回、あたらめて紹介したいと思います。 vectorやmapというコンテナを使う機会は多いのですが、 知らず知らずのうちに破壊されたイテレータを使っていることがあります。 まずイテレータ破壊について簡単に書きます。 void foo(){ std::vector<int> a = {1, 2, 3, 4, 5}; auto it1 = a.begin(); a.push_back(6); std::cout << *it1 << std::endl; } こういうソースがイテレータ破壊の例となります。 vectorの場

    イテレータ破壊の問題 - Qiita
    termin2
    termin2 2015/03/30
  • 『コンストラクタで書かれるコロン「:」って何?』

    C++ フリーでぷろぐらみんぐ 逆引きリファレンス。 C++のやりたい事から引ける逆引きメモを書いています。 何かコメントなどいただけると嬉しいです! クラスのコンストラクタのコードを書くときに、コロン「:」が良く使われます。 これって何でしょう? 最初の頃、これが良く分からなくて調べてみると、 メンバー変数や親クラスを初期化するものだと分かりました。 <コンストラクタ1> XXClass() : m_str("###") {}; こんな具合に記述されると、m_strがstringならば以下のコードが呼ばれたのと同じことです。 string m_str("####"); それだと、コンストラクタで次のように書くのと同じだと思いません? <コンストラクタ2> XXClass() { m_str = "###"; }; 私もかつてそう思ってました。 コロンは見づらいので、{}の中で記述するほう

    『コンストラクタで書かれるコロン「:」って何?』
    termin2
    termin2 2015/01/29
  • C++で構造体をソートする4つの方法(おまけあり) - minus9d's diary

    自分で定義した構造体data_tをvectorにつっこみ、STLのsort()関数でソートすることを考える。以下のように書いてコンパイルを試みると、読解不能な大量のエラーメッセージとともにコンパイルが失敗する。 #include <iostream> #include <string> #include <vector> using namespace std; struct data_t { int num; string str; } ; int main(){ vector<data_t> data_array(3); data_array[0].num = 15; data_array[0].str = "zzz"; data_array[1].num = 30; data_array[1].str = "aaa"; data_array[2].num = 15; data_arr

    C++で構造体をソートする4つの方法(おまけあり) - minus9d's diary
  • 1