Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

Programming

C++でstd::stringをどう返すべきか Part3

もはやタイトルから脱線しかかってきました。 C++11がらみのお話です。ただしRVO/NRVOはC++03でも使える…というか コンパイラ依存です。 とはいってもよほどマイナーかとても古いものを使っていなければ サポートされているというところでしょうか。 少なく…

JavaのWebアプリでのマルチスレッドについて

最初にお断りしますが、Struts 1.x系限定のお話です。 JavaでWebアプリでマルチスレッドやらスレッドセーフなどという言葉を初めて聞いたとき、 やべぇ、JavaのWebアプリって難しそう。 スレッドセーフを常に意識してコーディングして 必要なところはクリテ…

C++でstd::stringをどう返すべきか Part2

id:yohhoyさんから情報をいただいてPart2を書きます。 Part1はこれC++でstd::stringをどう返すべきか Part1 - Gobble up puddingものすごくありがたい情報をいただきました。 RVOについて(NRVOというのもある) これを無効化するオプションがありますよとの…

C++でstd::stringをどう返すべきか Part1

C++では関数からstd::stringを皆はどうやって返してんだろうっていう疑問がわきました。 フツーに考えてstd::stringをそのまま値で返す一択なのですが、 そこで問題になるのがコピーコスト…… っていうかそもそもコピーしてるの?とかいろいろ疑問が沸くわけ…

C#ではてなブログAtomPubを使って記事一覧を取得してみた

前回の投稿に続いて今度はプログラムからはてなブログの一覧取得です。C#ではてなブログAtomPubを使って記事を投稿してみた - Gobble up pudding今度はちょっと手を加えればできるので記事一覧を取得してみました。 なお、私はC#のAPIをあまり知らないのでGo…

C#ではてなブログAtomPubを使って記事を投稿してみた

プログラムからはてなブログの投稿をやってみました。言語は思い付きでC#を選びました。 昨日なかば寝ながら書いていておかしなところがたくさんあったので修正しました。 C#のLINQ to XMLなるもの、嘘でした。単なる普通のDOMでした…を使って はてなブログA…

C++らしい入出力、数値・文字列相互変換まとめ

まとめるつもりはなかったのですが、 たまたま目にとまったメールで問題が書いてあって おお、なんかサンプルを書くには良さそうと思い、 CodeZineのメールマガジンに書いてあったサンプルを利用させていただきます。 よくあるTopCoderのようなあのレベルの…

CSVでダブルクォートで囲まれた場合のパース方法(C言語)

CSVでダブルクォートで囲まれた場合のパースって なんかうまい書き方あるんだろうかと、 一応自分でも考えながら調べてみると、 あるんですね。なかなかきれいな書き方が。 まぁ、こんなのは普通のプログラミング言語使っている場合は ライブラリ頼りで自分…

双方向リストの実装

やっぱりアルゴリズムとデータ構造の知識って重要だよねってことで プログラミングの基礎を勉強しなおしてます。 以前C言語でものすごく中途半端な単方向リストの実装を書きました。C言語で片方向リストの実装 - Gobble up puddingC言語で片方向リストの実装…

Visual Studio (VC++)でフィルタ?(フォルダ?)が消えた!!時の対処法

実をいうと、何も消えていなくて、単に表示のされ方の問題です。『ゲームプログラマになる前に覚えておきたい技術』という本付属のソースコードをVisual Studio 2013用に再コンパイルして、ソースを眺めていたら、あれれ?フォルダ構成と同じようにソースが…

スタック上に確保するクラスのインスタンス化の場合()丸カッコ有の場合エラーになるのはなんでなの?

C++でRAII(Resource Acquisition Is Initialization)とかしようとしたときに スタック上にクラスをインスタンス化することがあって { HogeClass hogeClass; hoge(); fuga(); } // ここで自動的にデストラクト とかやってかと思うんですけど、 他にも、 例が…

string型にファイルを一気読みできるstreambuf_iteratorのおおまかな仕組み

以前の記事の C++でファイル読込み パターン別まとめ - Gobble up pudding で最後に書いた例のstreambuf_iteratorの仕組みですが、 おおまかにどうなっているのかわかりました! C++標準ライブラリのiteratorを継承して、 内部でファイルポインタを扱ってい…

クラス設計が難しいと改めて思い知る

クラス設計は難しい... 前回のエントリーで書いたテトリス Windows APIとC++でテトリス - Gobble up pudding のプログラムを書いて、オブジェクト指向というよりクラス設計は難しい、 本当に難しい!!ということを痛感しました。 絶対にコレ!っていう定石…

Windows APIとC++でテトリス

Windows APIとC++でテトリス作りました。 GDIでも結構いろいろ作れますね。 テトリスのブロックに画像ファイルは使っていません。 プログラムにBitmapとして描画させています。 C++でのマルチスレッドの扱い等を勉強したくて書きました。 全面的に下記サイト…

Visual C++でのDLLの一般的な作成方法(暗黙的リンク)

2016年02月07日更新 https://msdn.microsoft.com/library/81h27t8c(v=vs.110).aspx によるとメンバーに対してdllexportはだめらしいので追記。 また、main側サンプルコードが中途半端だったので、C++03以前で書きました。古い環境で開発せざるを得ないことも…

WIN32APIだけでノベルゲームエンジン

WIN32APIとC言語だけでここまでのものが作れるなんてってことで、今回はプログラムの紹介記事です。 なにかとここのプログラムでゲームプログラミングを勉強させていただいています。 WindowsでのめんどくさいVC++でのDLLの作成もしていますので、勉強になる…

ハイパー簡易暗号化プログラム

前回書いたエントリーの オーバーフローするとえらいこっちゃな話 - Gobble up puddingとか 関数内で宣言した配列変数をreturnしてはいけない - Gobble up puddingの 具体的なサンプルってことで書いただけです。 こんなの暗号化じゃねーってはなしですが、…

STL入門 第5回 ~map編~

今日はmapです。巷ではdictionaryとか言ったり、連想配列とか言われてるあれです。巷ってどこだー。くしゃみが止まりません(;´・ω・)過去のSTLの記事はこちら↓STL入門 第1回 ~algorithm編~ - Gobble up puddingSTL入門 第2回 ~vector編~ - Gobble up puddi…

STL入門 第4回 ~list編~ 2

過去のSTLの記事はこちら↓STL入門 第1回 ~algorithm編~ - Gobble up puddingSTL入門 第2回 ~vector編~ - Gobble up puddingSTL入門 第3回 ~list編~ - Gobble up puddingJavaScriptを勉強してる私です。しかしCSSがちょっとわかってないことに気付いた…

「char型へのポインタの配列」と「char型の配列へのポインタ」について

C言語で混乱しやすいのはポインタの表記ですね。 次の2つを見てみましょう。 char *foo[10]; char (*bar)[10]; このとき、fooとbarは意味が違います。 どちらかが 「char型へのポインタの要素数10の配列」 でもう一方が 「要素数10のchar型の配列へのポイン…

第4回 生成に関するパターン Prototype

Design Patterns 第4回 生成に関するパターン Prototype 前回のリンク 第1回 生成に関するパターン Builder - Gobble up pudding第2回 生成に関するパターン Factory - Gobble up pudding第3回 生成に関するパターン Abstract Factory - Gobble up pudding …

第3回 生成に関するパターン Abstract Factory

Design Patterns 第3回 生成に関するパターン Abstract Factory 前回のリンク 第1回 生成に関するパターン Builder - Gobble up pudding第2回 生成に関するパターン Factory - Gobble up pudding 生成に関するパターン Abstract Factory Abstract Factoryパ…

第2回 生成に関するパターン Factory

Design Patterns 第2回 生成に関するパターン Factory 前回のリンク 第1回 生成に関するパターン Builder - Gobble up pudding 生成に関するパターン Factory 単一の派生クラス群からインスタンスを生成するユーティリティクラス ファクトリーデザインパター…

第1回 生成に関するパターン Builder

Design Patterns 第1回 生成に関するパターン Builderデザインパターンの本を買いましたが、 コードが断片化して書かれているためか理解できず……。 そんなとき、海外のサイトでいいサンプルを見つけたので、 翻訳して、ソースコードをちょっと変えて載せてお…

Javaのファイル読込みの定型パターンは?

Javaを使い始めて日が浅い僕ですが、Javaのファイル読込みのエラー処理の仕方ってサイトを見るとみんな微妙に違うんですよね。 ぼくはこうするのがいいんじゃない?と思ってるんですが、世間のJavanese(Javaを使う人)はどうしてるんでしょ。ちなみにJavaづか…

C++の名前空間と前方宣言について

最初にざっくり説明すると、C++の名前空間はC#にある名前空間と同じ概念です。Javaでいうとpackageに近い概念です。 前方宣言(forward declaration)はC++特有のものだとおもわれます。 前方宣言について あるクラスで包含(コンポジション: Composition)をし…

STL入門 第3回 ~list編~

過去のSTLの記事はこちら↓STL入門 第1回 ~algorithm編~ - Gobble up puddingSTL入門 第2回 ~vector編~ - Gobble up pudding入門記事というよりただの自分の勉強記録になり下がってるのは仕様です。listはSTLコンテナでvectorに似ています。シーケンシャ…

STL入門 第2回 ~vector編~

第1回目はこちら↓STL入門 第1回 ~algorithm編~ - Gobble up puddingってかこっちのほうが第1回っぽいのは気にしないでください。STLにはコンテナというテンプレートクラスでできているオブジェクトの入れ物があります。 大きく分けて、シーケンスコンテナ(…

プログラムからBitmap画像を扱う(VC++) 1回目

今回使う画像です。使う画像は背景をキャプチャして切り取ってビットマップ(Bitmap)として保存したものです。ここからDLしたものを使わせていただきました。 デスクトップの背景 - Microsoft Windows 何回かに分けてビットマップ画像を扱う特集をやろうと思…

TopCoderはじめてみました SRM516 Div2 Easy NetworkXZeroOne

TopCoderっていう競技プログラミング的なものがあるんですが、 僕はアルゴリズムってか考える力が少し弱いと思ったので、気が向いたら今後もやろうと思います。 競技プログラミングと聞くとすごい敷居が高いように感じられますが(もちろん上級向けの問題は…