deleteのお約束 NULLポインタのdeleteを安全に行わせる。 Effective C++ にも書いてあったのか……。これは本社のめがね先輩(誰ていうか失礼)の席にあったはずなので、いつぞやの日記*1でもこれを指しておけばよかったかな。 引用先の記事を見ていて、そういえば昔 if(ptr != 0) delete ptr; なんてやって、それだけで満足しているかのようなコードがあったことを思い出した。このコードが複数回呼ばれた時の動作は未定義になってしまうので (delete しても ptr 変数の指し示すアドレスは変わらない) 、本当に多重 delete を防ぎたいのなら if 文じゃなくって delete 後に ptr = 0; として使用済みのポインタ変数の値を 0 にしてやる必要がある。まあ、そのコードが落ちることは無かった (複数回呼ばれたりはしないものだった) のですが
C++プログラマにとって、『Effective C++』はバイブルのような存在です。どれくらいバイブルかというと、皆さんの使っているGNUのGCCコンパイラには、EffectiveC++のコーディングガイドラインに従っているかどうかチェックするためのコンパイラオプション『-Weffc++』が、あるくらいです。 しかし、その内容は決して初心者向きではなく、実際に買ったはいいが、書棚の肥やしになっているような人たちも多いと思います。そこで、そのような初心者の人たちに EffectiveC++ を読み解くために各章のエッセンスをまとめたガイドラインを書いてみました。 C++はもう時代遅れとよく言われますが、組み込み系からビジネスシステムまで、幅広くカバーできる言語は、C++以外にありません。C++を知っていれば、おそらくどのような業界にも通用するでしょう。ITプログラマを自負するのであれば、C+
■ 課題 クラスインターフェースとは、そのクラスを使うプログラマがアクセスできるインターフェースのこと。インターフェースは、特に理由がない限り関数となる。大きなインターフェースは以下のような問題を抱える。 ・ 関数の数が多ければ多いほど、クライアントにとっては理解し難いものになる。 ・ 保守が難しくなる。重複コードの保守、インターフェースの一貫性の維持、ドキュメント化が大変になる。 ・ 大きなインターフェースは、ヘッダファイルが長くなり、コンパイル時間に大きな影響を与える。 ■ 解決 クラスインターフェースはできる完全かつ最小限になるまで、よく設計を吟味する。 ■ 補足 私見だが、この当たり前のようなことをできるプログラマは残念ながら、かなり少ない。 #include <iostream> using namespace std; class Rational { public: __Ra
概要 Windows7 64bit版でIllustrator10をまともに動作させるための手順です。 XP標準フォントのMSゴシックとMS明朝も使えるようにします。 インストール時 Illustrator10のインストーラーを起動し、普通にProgram Files (x86) フォルダ以下へインストールします。 (10.0 から 10.0.3に更新プログラムで更新する必要がある場合、管理者権限で実行する必要があります) フォントのコピー そのままではMSゴシック及びMS明朝が使えず、フォント名が文字化けしてアートボード上で透明になってしまいます。 別途WIndows XP端末にてエクスプローラーを起動し、フォントフォルダ(c:\windows\fonts)より msgothic.ttc と msmincho.ttc (それぞれ8MB前後)をWindows7端末の以下のフォルダへコピーしま
2011/10/08 Sprint、WiMAXからLTEに転換 Engadgetによれば、Sprintが4Gに関してWiMAXからLTEに転換すると発表したとの事。2012年中頃にローンチし、2013年終わりまでに完了する計画で、WiMAX対応デバイスは2012年まで販売するそうだ。Sprintは今回iPhoneを取り扱うようになったが、iPhoneがLTEのみしかサポートしないという事も少なからず影響しているのだろう。WiMAXは当初からあまり人気の無い技術だったが、SprintがWiMAXから手を引く事で、WiMAXの将来に暗雲が立ち込めてきた。世界最大規模のWiMAXネットワークを持つクリアワイヤもLTEの実地テストを1年前から開始しており、大株主であるSprintの決断によってWiMAXからLTEへの移行していくと思われる。彼らがWiMAXを捨てる事で、WiMAXの将来は無くなった
2012/04/26 一部修正しました デザインパターン 10章 Strategy パターン 10.1 Strategy パターンとは 10.2 サンプルケース 10.3 Strategyパターンまとめ 10.1 Strategy パターンとは 第10章では、Strategy パターンを学びます。Strategy とは英語で「戦略」を意味する言葉です。Strategy パターンを利用することで、戦略の切り替えや追加が簡単に行えるようになります。 普通にプログラミングしていると、メソッドの中に溶け込んだ形でアルゴリズムを実装してしまうことがよくあります。if 文などで分岐させることでアルゴリズムを変更するような方法です。Strategy パターンでは、戦略の部分を意識して別クラスとして作成するようにしています。戦略x部分を別クラスとして作成しておき、戦略を変更したい場合には、利用する戦略クラ
2012/04/26 一部修正しました デザインパターン 12章 Decorator パターン 12.1 Decorator パターンとは 12.2 サンプルケース 12.3 Decoratorパターン まとめ 12.1 Decorator パターンとは 第12章では、Decorator パターンを学びます。Decorate とは、英語で「装飾者」を意味する言葉です。Decorator パターンでは、飾り枠と中身を同一視することで、より柔軟な機能拡張方法を提供します。 Decoratorパターンは機能を一つひとつかぶせていくイメージになります。ある機能を持ったDecorationをコアとなるものにかぶせていくイメージです。 12.2 サンプルケース サンプルケースでは、アイスクリームの話をしたいと思います。アイスクリーム屋さんでは、自由にトッピングを選べるようになっています。お客さんは、ト
19.1 State パターンとは 第19章では State パターンを学びます。State とは、英語で「状態」を意味する単語です。 オブジェクト指向設計では、モノをクラスとして表現することが多くあります。State パターンとは、 モノではなく、「状態」をクラスとして表現するパターンです。 状態によって、動作のパターンが変わることがよくあります。 例えば、「機嫌のいい状態」「機嫌が悪い状態」の2つの状態があるお母さんにいくつか頼みごとをすることを考えます。 機嫌のいい状態のお母さんに「お小遣い頂戴」「おやつ頂戴」などのお願いをした場合、 「はいはい」といってお小遣いをくれたり、おやつを出してくれたりするでしょう。 しかし、機嫌の悪い状態のお母さんにこれらのお願いをしても聞き入れてくれないかもしれません。 お母さんは状態によって、振る舞いが変わるわけです。 State パターンとは、この
事例で学ぶデザインパターン 第6回 Strategy パターンとデザインパターン活用の総まとめ (株)オージス総研 福田 直樹 連載の最終回となる今回は、アルゴリズムをクラスとして抽出する Strategy パターンを検討します。変動しやすい一連の処理を持つ部分を分離し、それを簡単に切り替えて実行できるような仕組みを構築します。Strategy パターンを検討した後、その Strategy パターンに見られる設計指針を確認してデザインパターン活用のポイントを振り返ることにしましょう。 ※雑誌『Java WORLD』 2006 年 9 月号に掲載した記事のオリジナル原稿を Java WORLD 編集部の了解を得て掲載しています。 前回のおさらい 前回は、GUI クラスと GUI に依存しないデータ処理クラスを分離し、リアルタイムに情報を更新するような仕組みを提供する Observer パター
Xenで仮想ネットワーク@Nic二枚刺し 参考:Xenの小技 http://good-stream.com/goodstream/xen/index.html eth1追加でハマリにハマったので備忘録。 教訓:openSUSEのNetworkManagerはマジ信用なら無い。 network-bridge.xenを作成(名称変更) # cd /etc/xen/scripts # cp network-bridge network-bridge.xen my-network-scriptを作成 vi /etc/xen/scripts/my-network-script # !/bin/sh # Exit if anything goes wrong set -e # First arg is operation. OP=$1 shift script=/etc/xen/scripts/net
Looking to buy your next phone, laptop, headphones, or other tech gear? Or maybe you just want to know all of the details about the latest products from Apple, Samsung, Google, and many others. The Verge Reviews is the place for all of that and more. Whether you’re looking for buying advice, how to use products you already own, or the best deals on products we’ve tested and used ourselves and can
目次: AT&T プリペイドSIMを入手する・・・このページ オンラインでアクティベートする方法・・・ページ 2 別の電話からAT&Tのカスタマーサービスに電話してアクティベートする方法・・・ページ 3 オンライン・アカウント管理のためのパスコード作成 (初めてのログイン)・・・ページ 4 オンライン・アカウント管理のためのパスコードを忘れた場合・・・ページ 5 オンライン・アカウント管理サイトへのログイン・・・ページ 6 APNの設定・・・ページ 7 トップアップの方法、パケット(データ)プランの購入、有効期限・・・ページ 7 2012年4月18日より、Pay-as-you-go 1分$0.10プランとDailyプランでは、Data Packageに加入できなくなりました。Data Packageは月極めプランに加入した場合にのみ、選択できます。また、Data Packageの使用バイ
昨日発売されたVerizonのiPhoneをピックアップに近くのアップルストアに行ってきた。 店にはいつものような行列はできておらず、店のスタッフも肩透かしをくらったような格好らしかった。 ピックアップは12時からだったが、あまり大した列もできてなかったので早めに開始したらしい。 筆者は12時まで待ってたのだが、その必要はなかったようだ。 店内はいつも通り賑わっていた で、この二つのiPhoneの違いだが。。。外見的に違うのは片側の上部のみ。 1.ラインが入ってる。 2.ボリュームのON/OFFスイッチが1mmほど下にずれている。 それだけか。ケースを作ってるみなさんは、それほど大きな金型の変更が必要にならなくてよかっただろう。 パッケージには違いの部分が強調されている絵が採用されている。 お店の人と話した結果、WCDMA版となるVerizon iPhone4には下記のデメリットがあるらし
先日、アメリカ合衆国に行ってきたが、ようやくアメリカにおける電波状況の悪さを実感できた。 今まで何度も訪れていたが、1つの都市にいるだけだったりして、特に不都合を感じなかったが、電子機器を持って都会以外のいろいろな場所に移動してみて初めてわかったことがある。 例えば、アメリカではニューヨークの地下鉄ですら、地下鉄の駅で携帯電話の電波が来ていない。ロスアンゼルスの地下鉄(Metro)で使えないのは車社会なので仕方ないと思えたが、多くの方が利用するニューヨークの地下鉄駅で使えない事は初めて知った。その代わりか、走っている車内でWi-Fiを使えるように整備しているようだ。今回は使えなかったが AT&T版iPadを使えば、ほとんどのところでネット接続できるだろうと思いきや、都会でもAT&Tの電波が弱いところは至る所に存在した。 例えば、ニューヨークの空港(JFK)のターミナル内で3Gが不安定になる
Appleのスマートフォン iPhone 4が2010年6月に発売され、特に問題になったのがアンテナの問題だ。 iPhone 4は外側に金属のアンテナを配置しており、iPhone 4の持ち方によって感度が大幅に変化する。特に、本体左下の特定部分に触れしばらく待っているとアンテナバーが減る現象を確認できる。 ただし、これを確認できるのは、ある程度電波環境が良くないところのみだ。都市部の複数のアンテナから電波を受信できるような場所で、同じ事を試してもその現象は確認できない。 日本の場合、携帯電話の電波環境は世界でも類を見ないほど素晴らしく整備されている。これは、日本で評判の悪いソフトバンクの電波ですら、海外と比べると非常によいとなるほど優れている。ドコモは、周波数帯、対応端末含め、全世界のどこと比較しても圧倒的だろう。ここと比べられるソフトバンクはかなり厳しいはずだが、そのソフトバンクは前述し
今回は選択アルゴリズムの紹介です。 これは、配列からk番目に小さい数を線形時間で 探しだすクイックセレクト(Quick Select)という クイックソートの派生アルゴリズムです。 問題 ソートされていないa1からanまでの数字がn個あり、 その中からk番目に小さい数字を探せ。 例: サイズが9の配列、[2, 5, 3, 7, 1, 8, 6, 0, 4]において、 3番目に小さい数は2です。 解1:ソートする。 ソートしてk番目の数字を取る方法です。 ソートにθ(nlogn)と見つけるのにθ(n)なので、T(n) ∈ θ(nlogn) 解2:選択ソート的解 リストから一番小さい数字を見つけ、取り出します。 これをk回繰り返します。 リストから最小値を見つけるのにO(n)なので T(n) ∈ O(kn)です。 解3:ヒープソートの利用 ヒープソートの構成にO(n)、取り出しにO(logn)
両キャリアの違いを見ていこう。 ネットワークの信頼度ではKDDI まず、ネットワークに関しては、やはりKDDIに一日の長がある。iPhone 4のCDMA方式は“EV-DO Rev.A”のみで、auのiPhone 4Sは下り最大3.1Mbpsとなるが、スループットは決して低くなく、エリアも広い。試しに手元にあるRev.A端末(非スマートフォン)で速度を計ってみたが、平均して1Mbps以上を記録していた。 一方、現行のiPhone 4はソフトバンクの7.2Mbpsを利用できるが、実際には1Mbpsを切ることが多い。ソフトバンクのiPhone 4Sは下り最大14.4Mbpsに速度アップしているとはいえ、同じHSDPAのカテゴリーが上がっただけのことで、劇的な改善は見込めないだろう。スマートフォンの利用者がソフトバンクに比べ少ないうえに、駅のホームなど、人が密集しやすい場所をピンポイントで調整し
builder読者の皆さん、こんにちは。 金曜日担当の山田井ユウキです。 いよいよiPhone4Sの発表があり、予約受付が始まりましたね! 今回はソフトバンクとauの両方から出るということで、乗り換えも含め迷っている方も多いのではないかと思います。 そこで比較記事を書こう……かと思ったのですが、もうすでにわかりやすい記事がネットにはごろごろしておりますのでそれはまたの機会に。 で、今日はたまたまソフトバンク社長・孫正義氏の記者発表会の中継をニコニコ動画で見ていたのですが、いやはや孫氏のプレゼンはさすがでしたね……。 実際のところはauの参入でかなり焦りもあるはずなのですが、ここで顧客をつなぎ止め、「iPhoneならやっぱソフトバンクだな」と思わせるための様々な策を講じてきており、孫氏のある種の狡猾さがはっきり見えた記者発表会だったのではないかと思います。 1.実質0円の罠 まずは、もはや定
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く