ogamita777のブックマーク (883)

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

    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() { // 配列に足す関数

    コピーコンストラクタ、代入演算子、デストラクタ - たーせる日記
    ogamita777
    ogamita777 2016/02/07
    “#include <vector> using namespace std; class A { public: A() { mX = new int(); } ~A() { delete mX; } int* mX; }; vector< A > gA; // グローバルにvector void add() { // 配列に足す関数 A a; gA.push_back( a ); } int main() { add(); *( gA[ 0 ].mX ) = 6; return 0; }”
  • Ken Kobayashi cpp26

    C++によるプログラミング入門26 コピーコンストラクタ/代入演算子・後編 こんにちは。今回は、前回の前編の完結編です。 さて、前編では、コピーと代入は注意しなければいけない、ということを説明しました。 コピーと代入は次のようなものでした。Betu one; Betu two = one;   //oneをtwoにコピー Betu three; three = one;           //oneをthreeに代入 実は、コピーの時には、コピーコンストラクタという特別なコンストラクタが呼び出されることになっています。また、代入の時には、代入演算子という演算子(「=」のことです)が使われるわけです。そこで、コピーや代入の問題は、これらを自分で定義すれば解決されるのです。 そのために、コピーコンストラクタと代入演算子のカタチを紹介しなければなりません。それは一般に、次のようなカタチです。(

    Ken Kobayashi cpp26
  • 第四回-03 : コピーコンストラクタ・代入演算子のオーバーロード

    ページでは「コピーコンストラクタ」、 および「代入演算子のオーバーロード」について解説する。 どういう時にコピーコンストラクタや代入演算子の記述が必要になるのかであるが、 「第二回-05 : オブジェクトの代入」や 「第三回-03 : 関数の戻り値」で既に学んだように、 メンバ変数としてポインタをもつクラスにおいて代入などを行う際に必要になるのであった。 まずこのページを学ぶまえに以前のページをしっかり復習しておくこと。 コピーコンストラクタ・代入演算子の呼ばれるタイミング まず、コピーコンストラクタと代入演算子がどのようなタイミングで呼ばれるのかを簡単に解説しておこう。 int main(){ samp x; // (1) samp y=x; // (2) samp z; z = x; // (3) // 以下、なんらかの処理 } 上記の例を見てみよう。この例は main 関数内で s

    第四回-03 : コピーコンストラクタ・代入演算子のオーバーロード
  • 【Jerry Chu】プレイヤーを貶める「Far Cry 4」

    【Jerry Chu】プレイヤーを貶める「Far Cry 4」 ライター:Jerry Chu Jerry Chu /  香港出身,現在は日の大学院で勉強中 Jerry Chu「ゲームを知る掘る語る」Twitter:@akemi_cyan 4Gamer読者の皆様,はじめまして。ゲームプログラマーになるべく日に留学してきた香港人のJerry Chuと申します。 暇を見つけては,好きなゲーム(主にコンシューマ向け)をあれこれ考察した記事を香港のメディアに寄稿しているのですが,それらを翻訳・加筆したものや新規に書き下ろした記事を日のゲーマーの皆様にお届けしたいと思っています。 さっそくですが,第1回はUbisoftの「Far Cry 4」(PC / PlayStaiton 4 / PlayStaiton 3 / Xbox One / Xbox 360)を取り上げます。 プレイヤーを貶める「F

    【Jerry Chu】プレイヤーを貶める「Far Cry 4」
  • シャローコピーとディープコピーの違い - くろの雑記帳

    なにそれ? シャローコピー(Shallow Copy)、ディープコピー(Deep Copy)、どちらもコピーすることには変りないのですが、何をコピーしているのかが違います。 はじめて聞いた人は何を言っているか訳がわからないと思いますが、 特にオブジェクト指向プログラミングにおいて、これを知らないと確実にハマります。 シャローコピー シャローコピーというのは、コピー元のオブジェクトとコピー先のオブジェクトがメモリ上の同じデータ(インスタンス変数)を参照しています。 分かりにくいと思うので、図で示すとこんなイメージでしょうか。 ですので、コピー元のオブジェクトに対してインスタンス変数に変更を加えると、コピー先のオブジェクトが参照しているデータが同じ物なので、コピー先のオブジェクトから見たインスタンス変数も変更されることになります。 シャローコピーは、参照のコピーのみを行うということですね。 デ

    シャローコピーとディープコピーの違い - くろの雑記帳
  • C++の基礎 : const 修飾子

    BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア / 携帯 Java アプリ圧縮ツール : 株式会社 ソフィア・クレイドル English FAQ C++の基礎 : const 修飾子 const 修飾子 C++ 言語には、定数を表現するための const 修飾子が用意されています。ここでは const 修飾子のさまざまな使い方について説明します。 const 修飾子を使う目的は、コンパイラによる最適化を促進するためと、プログラムの意味をより明確にすることです。 const 変数 変数の宣言に const をつけることで、その変数の値が書き換えられないようにできます。 const SIntN max_foods = 120; max_foods = 130; // コンパイル エラー const 引数 関数の引数に const を指定すると、その関数の中で

  • 50社受けて内定出なかった文系女子大生が、受託開発企業に入社を決めた話 - paiza times

    Photo by Dale Beaumont こんにちは。谷口です。 以前このような記事を書きました。 paiza.hatenablog.com この中にもある通り、私は大学で文系の学部に所属し、プログラミングのプの字も知りませんでした。 今回は、そもそもプログラミングをしたことなかった私が、どうやって受託開発企業を知って、どんなタイミングで選考を受けて、入社するまでに至ったのか……という経緯を書いていこうと思います。 先に言っておきますが、私は就活するようになって初めてこの世に「プログラマー・システムエンジニアITエンジニア」という職業があることを知りました。 先行き不安ですね。 ■就活序盤 3年の冬 理系・工学系・情報系の皆さんは、早い段階でプログラミングに触れたり、勉強したり、IT業界や職種に関することもご存知だったかと思います。 しかし私は前述のとおり、就活をするようになって初め

    50社受けて内定出なかった文系女子大生が、受託開発企業に入社を決めた話 - paiza times
  • コンストラクタでは、代入よりも初期化を使おう 12項 - higepon blog

    これよりも Hoge::Hoge(const string& initName) { this->name = initName; }これを使いましょうという話。 Hoge::Hoge(const string& initName) : name(initName) { } 理由は、初期化リストではstringのコピーコンストラクタのみが実行されるのに対して、コンストラクタでの代入では、コンストラクタ・代入が行われて効率が良くないから。 またメンバの name がもし仮に const であるならば(これは良くあることだが)、そもそも初期化リストでしか初期化できない。 代入を使うほうが理にかなっているというシチュエーションもあり、(大量組み込み型データメンバーの場合)、その詳細は、Effective C++ 【改訂第2版】 アスキーアジソンウェスレイシリーズ―Ascii Addison We

    コンストラクタでは、代入よりも初期化を使おう 12項 - higepon blog
  • C++マニアック,ヘッダファイルの作り方,How to make header file

    C++ のソースコードは、*.cpp ファイルとヘッダファイル *.h に記述されます。これらは、それぞれ、役割分担があるわけですが、C++ のコンパイルのメカニズム的には、ヘッダファイル *.h は、#include によって、*.cpp にインクルードされるということが決まっているだけで、その記述方法のポリシーについては、完全にプログラマーに任されています。このため、ヘッダファイルには、*.cpp に記述できるものは何でも記述できてしまうのですが、だからといって何を書いても良いというわけではなく、正しいポリシーに従って記述しないと、コンパイルエラーの山に悩まされるということになります。 そこで、C++ を正しく楽しむためには、ヘッダの記述方法について、そのポリシーを明確にしておくことは大いに意味があるでしょう。 ヘッダファイルの作り方は、ヘッダの中にテンプレート関連のコードを入れるかど

  • 新社会人必須。Chrome拡張「社会人ブラウザ」 – なかよしインターネッツ

    いつまでも学生ノリが抜けずに目的もなくダラダラとインターネットで遊び、人生という何物にも代えられない貴重な時間をドブに捨て文句だけはいっちょまえに言って他人の足を引っ張ることに夢中なみなさんを矯正し圧倒的な成長を実現することができる無料のChrome拡張が『社会人ブラウザ』です。 社会人ブラウザ – Chrome ウェブストア https://chrome.google.com/webstore/detail/%E7%A4%BE%E4%BC%9A%E4%BA%BA%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6/ldaamcmpjjabpmmopdjknbobifnkbhhd この革命的な「社会人ブラウザ」をインストールするには「Chromeに追加」をクリック。 「追加」をクリック。これでインストールは完了です。 すると新しいタブを開くごとに胸に刻むべき至極のメッセ

    新社会人必須。Chrome拡張「社会人ブラウザ」 – なかよしインターネッツ
  • 「ビッグデータ解析で薬剤副作用予測がほぼ100%可能に」というニュースへの反応

    PC Watch @pc_watch 【やじうまPC Watch】ビッグデータ解析で薬剤副作用予測がほぼ100%可能に~京大発表。今後はSoC活用で処理を高速化 pc.watch.impress.co.jp/docs/news/yaji… pic.twitter.com/4RES8fcj6g

    「ビッグデータ解析で薬剤副作用予測がほぼ100%可能に」というニュースへの反応
  • AlphaGoが誇大広告ぎみな件 - A級リーグ指し手1号

    Googleが開発した囲碁ソフトのAlphaGoが、世界で初めてプロ棋士に勝ったコンピュータとして大きなニュースになっています。Nature誌に論文が掲載されたのですが、仔細に読むといくつか不可解な点がありましたので、調査・考察してみました。 AlphaGoの論文はこちらから見えます。プロ棋士に勝ったこともありますが、何よりコンピュータ囲碁開発者(及び隣の分野のコンピュータ将棋開発者)を驚かせたのは、「既存の他の囲碁プログラムと対戦させた結果、495戦494勝だった」との報告でした。この報告は衝撃的で、これを読んだ他のコンピュータ囲碁開発者たちからは「俺の今までの努力が否定された」「目標を見失ってしまった」などの悲嘆の発言が相次ぐ始末でした。 論文から、AlphaGo、対戦相手のプロ棋士、及び他のソフトのレーティングを示したグラフを引用します。 CrazyStoneとZenはこれまでは最強

    AlphaGoが誇大広告ぎみな件 - A級リーグ指し手1号
  • 『AlphaGoが誇大広告ぎみな件 - A級リーグ指し手1号』へのコメント

    ブックマークしました ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください Twitterで共有

    『AlphaGoが誇大広告ぎみな件 - A級リーグ指し手1号』へのコメント
  • AIが囲碁のプロ棋士を初めて負かす。ついにこの時が来たか : IT速報

    グーグル傘下の人工知能(AI)開発ベンチャー「ディープマインド」(英国)は、開発した囲碁のコンピューターソフト「アルファ碁」がプロ棋士を相手に勝利を収めたと、英科学誌ネイチャーに27日発表した。 プロが公式戦で使うフルサイズの19路盤でハンディなしで勝ったのは世界初としている。 対戦相手は2013~15年の欧州チャンピオンで中国出身のファン・フイ氏。アルファ碁は15年10月に5戦し全勝した。 http://www.daily.co.jp/society/main/2016/01/28/0008757711.shtml

    AIが囲碁のプロ棋士を初めて負かす。ついにこの時が来たか : IT速報
  • 【平成26年】一番わかりやすい年末調整書類の書き方 〜扶養控除等申告書〜 - みんなの給与計算教室

    New! アルバイトさんの年末調整についても書きました スポンサーリンク 【最新版!】平成28年分の書き方についてはこちら 見落としやすいポイントをまとめてます こんにちは、給与計算教室です。 今年もあの季節がやってきました、そう年末調整の季節です。今年は特に法改正もないので*1、年末調整書類の書き方・記入例は去年の記事(その1・その2)を見てもらっても十分なのですが、いちおう中身を見直し、かつ図々しいタイトルをつけてみました。しかしあくまで個人の趣味ブログですので責任はもてませんご注意を! おさらい まずざっと、年末調整の目的・仕組みについて振り返っておきましょう。 ・なんらかの所得(給料をもらっていれば給与所得)を得ている人はみな、所得税を納めなければならない ・当はそれぞれ個人が確定申告して所得税を納めるべきだが、会社勤めをしている人は会社がやってくれる ・でも年末にいきなり、所得

    【平成26年】一番わかりやすい年末調整書類の書き方 〜扶養控除等申告書〜 - みんなの給与計算教室
  • 問題練習・・・母平均の推定・信頼区間

    ※この区間のことを,母平均μに対する信頼度95%の信頼区間という. ※母平均の推定と信頼区間の問題については上の式のまま考えてもできるが,後に出てくるt検定,F検定などと統一的に理解するためには,上の式をと変形して,の値が-1.96と1.96の間になるかどうかで考えるとよい.(この値をz値ということがあり,z値の大小によって考えることにするのである.) 【母標準偏差が未知のとき】 nが十分大きいとき,母標準偏差σは標標準偏差sに等しくなることが知られている. (微妙な話になるが避けて通れない話題) 母平均μが標平均に等しいなどということではないし,母標準偏差σが標平均の標準偏差に等しいなどということでもない.nが十分大きいときに,等しいといえるのは母標準偏差σと標標準偏差sだけ.

  • 統計学入門−第1章

    1.3 データの要約方法 (1) 度数分布図 統計学ではデータをどのようにして要約し、集団の様子をどのように記述するのでしょうか? それを説明するために第1節の体重測定の例をもう一度取り上げてみましょう。 データを要約したい時は、まず始めにデータを見やすいようにグラフ化します。 それには横軸にデータの値を取り、縦軸にその数をプロットした度数分布図(frequency distribution)を用います。 一般的な度数分布図ではデータの値をいくつかの区間に区切り、その区間の中に入るデータの数を柱状グラフとしてプロットします。 この図が度数分布図と呼ばれるわけは、データの数のことを数学では度数と呼ぶからです。 体重測定のデータを度数分布図で表したところ、図1.3.1のようになったとします。 このように最初にデータを目に見えるようにグラフ化する(見える化する)のは大変重要です。 これによってデ

    統計学入門−第1章
  • GitBook – Knowledge management for technical teams

    GitBook brings all your technical knowledge together in a single, centralized knowledge base. So you can access and add to it in the tools you use every day — using code, text or even your voice.

    GitBook – Knowledge management for technical teams
  • Chainerで顔イラストの自動生成 - Qiita

    PFNのmattyaです。chainerを使ったイラスト自動生成をやってみました(上の画像もその一例です)。 20日目の@rezoolabさんの記事(Chainerを使ってコンピュータにイラストを描かせる)とネタが被っちゃったので、記事ではさらに発展的なところを書いていきたいと思います。一緒に読んでいただくとよいかと。 概要 Chainerで画像を生成するニューラルネットであるDCGANを実装した→github safebooruから顔イラストを集めてきて学習させた 学習済みモデルをconvnetjsで読み込ませて、ブラウザ上で動くデモを作成した→こちら(ローディングに20秒程度かかります) アルゴリズム 今回実装したDCGAN(元論文)はGenerative Adversarial Networkというアルゴリズムの発展形です。GANの目標は、学習データセットと見分けがつかないようなデ

    Chainerで顔イラストの自動生成 - Qiita
  • https://www.aise.ics.saitama-u.ac.jp/~gotoh/Download/CheckListForTheses-ja.pdf