ブックマーク / cpplover.blogspot.com (9)

  • 濫用に当たる職務質問を受けたと考えたので弁護士に相談して訴訟を起こすことになった話

    去る7月3日の午後の通勤途中に、私は職務質問を受けた。その次第は以下のブログ記事に職務質問を受けた当日書いて投稿した。ただし、投稿時に日付を超えてしまったので投稿日時は7月4日になっている。 の虫: 警察官に職務質問をされた話 さて、振り返って見るに、私は先日の職務質問が警察官職務執行法第一条に規定された、「目的のため必要な最小の限度」を超えていて、「濫用」にあたるのではないかと考える。というのも、 「下を向いて歩いていた」、「帽子を目深にかぶっていた」という理由は、同法二条にある「合理的に判断して何らかの犯罪を犯し、若しくは犯そうとしていると疑うに足りる相当な理由」にはならない。 仮に「疑うに足りる相当な理由」であったとしても、職務質問を開始してかなり早い段階で、その疑いに対して「重い荷物を背負って長距離を歩いたので疲れたのではないか」、「人間は下ぐらい向くものだ」、「日差しが強く帽子

    merom686
    merom686 2017/07/15
    素晴らしい行動力。自分も嫌な思いをしたが何もできなかった。
  • 1/9998 = 0.0001 0002 0004 0008 0016 0032 0064 0128 0256...

    1/9998 = 0.0001 0002 0004 0008 0016 0032 0064 0128 0256... \(\frac{1}{9998}\)は、4桁で2^13まで2の累乗のパターンが出現する。 \[\frac{1}{9998} = 0.0001\;0002\;0004\;0008\;0016\;0032\;0064\;0128\;0256\;0512\;1024\;2048\;4096\;8193\;6387\;\cdots\] Hacker Newsによれば、これは以下のような理由による。 The pattern will break down once you get past 8192, which is 2^13. That means th\cdots | Hacker News このパターンは8192を超えると破れる。つまり、このパターンはすごいことに52桁も継続

    merom686
    merom686 2014/01/31
    これ、1/8でも成立してるんだよね。きっちり0.125になる。
  • oldnewthing: なんでHeapFreeがERROR_POSSIBLE_DEADLOCKで失敗するのか?

    oldnewthing: なんでHeapFreeがERROR_POSSIBLE_DEADLOCKで失敗するのか? Why did HeapFree fail with ERROR_POSSIBLE_DEADLOCK? - The Old New Thing - Site Home - MSDN Blogs ある顧客がassertに引っかかると報告してきた。何でも、HeapFree関数が、全く問題ないヒープブロックに対する操作に失敗し、GetLastError関数の結果は、ERROR_POSSIBLE_DEADLOCKだという。一体何がどうなっているのだ。 私の同僚が持ち前のエスパー能力を駆使して訊ねた。「ひょっとしてプロセスは終了中かい?」 「ええ、まあ。何で分かったんだい?」 プロセスはどのように終了するかという話を思い出して欲しい。まず最初に起こることは、プロセスの他のスレッドをすべて

    merom686
    merom686 2013/01/22
    ずっと前から似たような疑問を持っていたけど、一歩間違うと不幸になることだから大きな声じゃ言えない
  • 本の虫: C++相談室での素晴らしい疑問

    C++相談室 part78 696 名前:デフォルトの名無しさん[sage] 投稿日:2010/03/09(火) 07:26:55 通らない ttp://codepad.org/d4Wo3ozT int main() { int ** pp = nullptr ; int * const * const pcpc = pp ; // これはコンパイルが通る。 int const ** cpp = pp ;// エラー。なんで? } これは、規格の4.4 Qualification conversions [conv.qual]によって、明示的に禁止されている。何故か。これを許可してしまうと、C++の型システムのconst性に、穴が生じるのだ。 int main() { // i は書き換えられない。 int const i = 0 ; int * p ; // もちろんこれはエラー p =

    merom686
    merom686 2011/10/12
    ポインタへのポインタでのconst
  • Old New Thing: なんでスペースシャトル使ってアポロ13号を助けなかったの?

    Why didn't they use the Space Shuttle to rescue the Apollo 13 astronauts? - The Old New Thing - Site Home - MSDN Blogs 多くの出来事というのは、当時の時代背景を考えなければ成立しないものだ。 ゆとりの映画バカが、なんでNASAはスペースシャトル使ってアポロ13号の乗組員を助けなかったんだ、と疑問に思うごとく、今日のコンピューターユーザーは、昔の事情に対して、そもそも存在していなかった技術の存在を前提に考えようとする。 例えば、Windows 3.1にコンソールサブシステムがなかったということは、ipconfigをキャラクターモードのアプリケーションとして提供しない言い訳にはならないという意見だ。「ま、コンソールサブシステムがなかったとしてもだ、なんでDOSを使わないんだ」

    merom686
    merom686 2011/02/02
    「多くの出来事というのは、当時の時代背景を考えなければ成立しないものだ。 」
  • 本の虫: C++0xによるコンパイル時の配列生成

    Don't do this at home. I am professional. 絶対にマネをしてはいけません。 コンパイルタイムプログラミング - 主題のない日記 昨晩、これと同じことがC++で出来るかどうか質問を受けた。5という数字が与えられたときに、0,1,2,2,3,3,3,4,4,4,4,5,5,5,5,5という数列をコンパイル時に生成できるかという問題である。 その時は、プリプロセッサー以外に、どうにもうまい実装方法が思いつかなかった。問題は、再帰を止める方法だ。しかし、今朝、改めて問題を考えると、頑張ればなんとかなるのではないかとも思った。 まず、プリプロセッサーによる実装を考えよう。これは、BOOST.Preprocessorを使えば、簡単に実装できる。簡単というのは、C++のプロにとって簡単という意味である。言うまでもなく、プリプロセッサーは邪道であり、中でもBoost

    merom686
    merom686 2010/12/24
  • abstract classで知らなかったこと、付記、派生と継承の違い

    以下のコードはwell-formedである。 struct Non_abstract { virtual void f() { } } ; struct Abstract : Non_abstract { void f() = 0 ; } ; abstractクラスは、abstractクラスではないクラスから派生されることができる。その際、pure virtual functionではないvirtual functionを、pure virtual functionとしてオーバーライドすることができる。 これが何の役に立つのか分からない。ただ、pure virtual functionがあればabstract classであるなどという、あまり文法的に美しくないC++の仕様からすると、わざわざこの挙動を禁止する理由が見当たらなかったのだろうか。 ところで、今まで私は、派生と継承の違いを明確

    merom686
    merom686 2010/11/28
    「クラスは派生するものである。クラスのメンバーは継承するものである。」
  • 噛みごたえは重要である

    私は、あまりに関心のない種類の人間である。私に取って事というのは、生存に必要な栄養を得るための行為であった。私がに関して気を付けていることは、「同じものをべ続けない」ということだけである。 ところで、私はつい先日、親知らずを抜いたために、顎が使えず、噛まずに飲み込めるほど薄い粥をすすって生きている。もう三日になるが、これはなかなかに苦行だ。噛みごたえがない事というのが、こんなに辛いものだとは思わなかった。 私は今まで、美味というものは、主に油と、舌鼻を刺激する物によって決まると思い込んでいた。ところが、実は噛みごたえというファクターがあるらしい。 私は粥に対して、様々な調味料の適用を試みた。しかし、塩を除いては、はかばかしい成功はしなかった。たとえ、ミキサーで焼き肉や焼き魚を粥に混ぜ入れたとしても、あまり良いべ物にはならないだろう。 しかし、何と言っても私は、まだ粥をすすり始め

    merom686
    merom686 2010/10/05
  • 本の虫: lambda 完全解説

    目的 この記事は、C++0xのlambdaを完全に解説せんとする目的を以て書かれた。サンプルコードは最小に留め、エラー処理等は省いた。この記事さえ読めば、今日からlambdaを恐れることなく使う物のC++0xプログラマになれるだろう。 lambdaとは何ぞや lambdaである。あるものは、lambda関数、あるいは無名関数という名称を使っている。いったいlambdaとは何なのか。 lambdaは関数である。また、特に名前はない。したがって、lambda関数、無名関数と呼ぶのは、間違ってはいない。しかしここでは、単にlambdaと呼ぶことにする。 lambdaを定義しよう lambdaは関数オブジェクトである。lambdaは関数オブジェクトである。これはとても大事なので二度書いた。lambdaは関数オブジェクト以外の何物でもない。ところが不思議なことに、皆lambdaが単なる関数オブジェ

    merom686
    merom686 2010/01/31
    以前は何言ってるかわからなかったけど、関数オブジェクトを何回か使ってから読んだら、読めるようになってた
  • 1