タグ

2014年10月16日のブックマーク (7件)

  • シンプルな配列クラスを使って「右辺値参照」と「ムーブセマンティクス」を知る - Qiita

    C++11 の新しい機能に「右辺値参照」と「ムーブセマンティクス」があります。 ググればこれらに関して解説されてるサイトが結構ありますが、一般的には理解しづらいものとして扱われてるみたいです。 かくいう自分もよくわかりませんでした……。 ですので、今回は至ってシンプルな配列クラスを使って、これらが何を意味するのかを知ろうかと思います。 従来は「コピー」 まずは、「右辺値参照」と「ムーブセマンティクス」を使わないコードを見てみます。 #include <iostream> using namespace std; struct Array { typedef int ValueType; ValueType *p; int length; // コンストラクタ Array(int _length) : p(new ValueType[_length]) , length(_length) {

    シンプルな配列クラスを使って「右辺値参照」と「ムーブセマンティクス」を知る - Qiita
    fa11enprince
    fa11enprince 2014/10/16
    右辺値参照
  • JAXBでJavaクラスからXML schema生成 - torutkのブログ

    Java SE 標準APIのJAXBを使うと、Javaのインスタンスの内容をXML形式で出力したり、逆にXMLファイルからJavaのインスタンスを生成することができます。 JAXBは最初、XML Schema定義からJavaクラスを生成し、そのクラスを利用して実行時にJavaインスタンスとXML文書のマッピングをする機能が提供されました。その後のバージョンで、Javaクラス定義*1からJavaインスタンスとXML文書のマッピングをする機能が提供されました。そのためもあってか、解説記事は大半がXML Schema定義からJavaクラスを生成するものとなっています。 今回、Javaクラス定義からXML文書とマッピングするために必要な流れを、一歩一歩試しながら理解したいと思います。 なお、Javaクラス定義からXML文書とマッピングさせる場合、XML Schemaを生成する必要はありませんが、生

    JAXBでJavaクラスからXML schema生成 - torutkのブログ
  • JAXB使い方メモ - Qiita

    JAXB(Java Architecture for XML Binding)の使い方メモ。 JAXB とは、 XML と Java オブジェクトを相互変換するための API 仕様のこと。 Java SE6 からは標準ライブラリに組み込まれているので、特に jar を追加することなく使える。 Java 11 より、 JAXB は標準ライブラリから削除されました(Java EE には引き続き含まれています)。 Java SE 11 以降の環境で JAXB を使う JAXB はもともと Java EE の一部だった。 一時は SE に入れられたが、 Java 11 で EE 系のクラスが SE から削除されたときに、一緒に SE から削除された。 SE 11 以降の環境で JAXB を使用したい場合は、ライブラリとして追加する必要がある。 2019 年現在の、JAXB の参照実装は たぶんこれ

    JAXB使い方メモ - Qiita
  • JAXB使い方メモ - Qiita

    JAXB(Java Architecture for XML Binding)の使い方メモ。 JAXB とは、 XML と Java オブジェクトを相互変換するための API 仕様のこと。 Java SE6 からは標準ライブラリに組み込まれているので、特に jar を追加することなく使える。 Java 11 より、 JAXB は標準ライブラリから削除されました(Java EE には引き続き含まれています)。 Java SE 11 以降の環境で JAXB を使う JAXB はもともと Java EE の一部だった。 一時は SE に入れられたが、 Java 11 で EE 系のクラスが SE から削除されたときに、一緒に SE から削除された。 SE 11 以降の環境で JAXB を使用したい場合は、ライブラリとして追加する必要がある。 2019 年現在の、JAXB の参照実装は たぶんこれ

    JAXB使い方メモ - Qiita
  • ロベールのC++教室 - 第27章 暗黙の了解 -

    第9章でオブジェクトを値渡しするプログラムをやりました。誰かここに int 型の値を入れた人はいませんか? 今回はそんな話です。 今回の要点です。 値渡しする引数では、コピーコンストラクタ以外のコンストラクタも呼ばれる。 値渡しでコンストラクタを呼ばれないようにするには、コンストラクタの宣言に explicit をつける。 では、いってみましょう。 早速、次のプログラムを見て下さい。 // Copy1b.cpp #include <iostream.h> #include "IntArray.h" void Disp(CIntArray array) { int i; for(i = 0; i < array.NumOf(); i++) cout << array.Get(i) << ' '; cout << endl; } int main() { CIntArray arrayAtoZ

  • C++のクラスをマスターしよう(後編)(1/2) - @IT

    書籍転載 文法からはじめるプログラミング言語Microsoft Visual C++入門 C++のクラスをマスターしよう(後編) ―― 第10章 クラス~オブジェクト指向プログラミング(中編) ―― WINGSプロジェクト 矢吹 太朗(監修 山田 祥寛) 2010/06/02 コーナーは、日経BPソフトプレス発行の書籍『文法からはじめるプログラミング言語Microsoft Visual C++入門』の中から、特にInsider.NET読者に有用だと考えられる章や個所をInsider.NET編集部が選び、同社の許可を得て転載したものです。基的に元の文章をそのまま転載していますが、レイアウト上の理由などで文章の記述を変更している部分(例:「上の図」など)や、図の位置などをサイトのデザインに合わせている部分が若干ありますので、ご了承ください。『文法からはじめるプログラミング言語Micros

  • コピーコンストラクタ、代入演算子、デストラクタ - たーせる日記

    C++のためのAPIデザイン』のp.210には、こんな記述があります。 C++の初心者が陥りやすいのは、リソースを割り当てるクラスを作り、それに伴いデストラクタは用意したが、コピーコンストラクタと代入演算子を定義しないことだ。 というわけで、今日はコピーコンストラクタと代入演算子の定義がないと何が起こるのかについて実験してみます。 きっかけ 『ゲームプログラマになる前に覚えておきたい技術』のp.520には即死サンプルという不穏当なコードが掲載されています。 #include <vector> using namespace std; class A { public: A() { mX = new int(); } ~A() { delete mX; } int* mX; }; vector< A > gA; // グローバルにvector void add() { // 配列に足す関数

    コピーコンストラクタ、代入演算子、デストラクタ - たーせる日記
    fa11enprince
    fa11enprince 2014/10/16
    コピーコンストラクタ、代入演算子、デストラクタを書こうとかいうお話