タグ

C++に関するhamayanhamayanのブックマーク (8)

  • Big Sky :: C++ の数式パーサ Lepton で遊んでみた。

    Lepton という数式パーサを見つけたので遊んでみた。 Simtk.org: Lepton Mathematical Expression Parser: Overview Purpose/Synopsis: A small C++ library for parsing, evaluating, differentiating, and analyzing mathem... https://simtk.org/home/lepton 一般的な数式パーサは expression を token に分解するのみだが、この lepton はもう1歩踏み込んだ処理が行える。 通常の数式は以下の様にパースし実行出来る。 #include <iostream> #include <string> #include <map> #include <Lepton.h> int main(int ar

    Big Sky :: C++ の数式パーサ Lepton で遊んでみた。
  • Windows 8のC++でプログラミングの常識がひっくり返った

    「C言語とC++がわかる」というムック(2013年4月2日発売)の作業で、Windows 8/RTで動く「Windowsストア アプリ」をC++で作った。元記事はVisual BasicとC#(シーシャープ)で作っていたので、それをC++で書き直すというわけだ。 これが想像をはるかに超えて難しく、土日に働き続けるのはもちろんのこと、1日の睡眠時間を2時間に削ったりして長時間取り組んでも、思うように進まなかった。印刷会社にデータを渡す日は近付くしプログラムは動かないしで、10年に1度クラスの大ピンチ。冷や汗をかき、涙目になりながら書き続けて何とか間に合わせたのだが、どこが最大の難所だったかというと、「順次処理を書いたつもりなのに順次処理してくれない」という、常識破りの大変化があったことだと思う。 手続き型のプログラミング言語でプログラムを書く場合、プログラマが と記述したら、コンピュータは

    Windows 8のC++でプログラミングの常識がひっくり返った
  • C++エンジニア採用問題 - シンガポールの場合

    H.Torii @torii_h C++エンジニア採用面接最終回。設問を用意して知識と頭の回転を調べてゆく。問1:悲観的排他制御と楽観的排他制御の違いを、実装した経験から述べよ。ここでOracleMySQL歴史や、哲学者の事問題あたりが出てきて欲しいところ。でも両者の得失がわかってれば合格。 H.Torii @torii_h 問2:リスト逆転問題。int a[100]の各要素の前後関係を逆転せよ。性懲りもなく同じ出題をしてみた(^_^;) 何秒で解けるかで頭の回転がわかる。ついでにビッグオー表記をわかってるか試せるし。for/while版、再帰版、STL版の3通りがスラスラ出てくれば申し分ないのだが。 H.Torii @torii_h 問3:デザインパターンについて。知ってるのを手短かに解説せよ。SingletonやFactoryを知らない、使ったことがない、なんてわかれば即退席して

    C++エンジニア採用問題 - シンガポールの場合
  • TFS 2015 build drop folder explorer link not opening - MSDN Blogs

    In Visual Studio 2022 17.10 Preview 2, we’ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and/or debugging failed connections. Please install the latest Preview to try it out. Read on to learn what the Connection ...

    TFS 2015 build drop folder explorer link not opening - MSDN Blogs
  • StateパターンでCSVを読む

    こんなのを読み込んで適当な処理を施して欲しい、と。Excelのシートから各セルの値を拾い出すのはさほどに難しくはないのですが、いかんせん時間がなかったのでいったんはお断りしたところ、「Excelシートを直接読むのが面倒ならCSVからでもかまわん」とのこと。CSVならフツーにテキストファイルを読めばいいから小一時間で作れそう、昼メシ奢ってもらうのを報酬に引き受けることにしました。 CSVのフォーマット CSV(Comma Separated Values)はMS-DOSあるいはその以前からスプレッドシートのデータ・フォーマットとして使われています。CSVの規格/標準としてはRFC4180がありますが、こいつは2005年に作られたものでそれ以前のアプリケーションがRFC4180に準拠していることは期待できるはずもありません。とはいえ、まずはRFC4180に従って作られたCSVなら正しく読めるこ

    StateパターンでCSVを読む
  • 開発メモ: 50行のC++コードでWebサーバを実装する

    「Kyoto Tycoonの設計 その四」改め、50行でWebサーバを書く方法を解説する。前回実装した「多重I/Oマルチスレッド汎用TCPサーバ」の上にHTTPの処理を行う層をつけて、「多重I/Oマルチスレッド汎用HTTPサーバ」を司るクラスを実装してみたので、それを使ってちょちょいとやる。 URLクラス HTTPと言えばURLが使えないと意味がない。URLは単なる文字列として扱ってもよいのだが、様々なシーンで分解や加工が必要になり、その処理はなにげに複雑で面倒なので、予めクラスとして導出しておいた方がよいだろう。 class URL { public: // 文字列のURLを解析して内部構造を作る void set_expression(const std::string& expr); // スキーム要素を設定する void set_scheme(const std::string&

  • STLのqueueとかstackとかが好きになるたった一つの方法 - 神様なんて信じない僕らのために

    全国1,000,000人のSTLファンのみなさんに朗報です。 STLのqueueとかstackとか使いにくくないですか? あれって、中身はlistとかqueueとかvectorのくせに使いにくくないですか? 触れるインターフェイスが少なすぎ、とか思ってないですか? 渡したコンテナを触れないときどうしてますか? 1.渡すコンテナを独自で作成し、インターフェイスは実装し中身は気合いでいじる できますが、queueやstackで渡されるコンテナは「コピー」なので相当醜いことになります。却下。 2.queueやstackをprotected継承してインターフェイスを拡張する 正解!! 移植性はないけど正解!! 移植性がないのはSTLには環境によって独自の実装があるからです。 しかし、多くの場合ちょっと書き換えるだけでこのテクニックが使えます。 これを使うと、 swapができるqueue(シュリンク

    STLのqueueとかstackとかが好きになるたった一つの方法 - 神様なんて信じない僕らのために
  • STLのvectorに構造体を突っ込んだときのソート

    STL(Standart Template Liblary)のvectorに構造体を突っ込んだときに、 その構造体のメンバでソートを行う方法。判ってしまえば簡単なのだけど、 ネットで結構苦労してやっと判明したので。 #include <stdio.h> #include <sys/types.h> #include <algorithm> #include <string> #include <vector> using namespace std; // 構造体の定義 struct FI { string path; string name; int size; }; // vectorの定義 std::vector<FI> vec; // 評価関数 bool name_asc( const FI& left, const FI& right ) { return left.name <

  • 1