タグ

C++に関するni66lingのブックマーク (62)

  • https://kensho.ddo.jp/gitweb/?p=lab.git;a=blob_plain;f=program/UchidaLabResearchCpp/%E9%81%8E%E5%8E%BB%E3%81%AE%E3%82%B4%E3%83%9F/tracking_DP.cpp;hb=093a33e0bdc68de0faed50db273f8bec1de17852

  • 第四回-02 : new/delete によるメモリの動的管理

    ページでは「new/delete によるメモリの動的管理」について解説する。 malloc/free によるメモリの動的管理 (C 言語) new/delete によるメモリ管理に触れる前に、 「第二回-04 : メモリとポインタ」で取り扱った malloc/free による動的メモリ管理の復習をしておこう。 この手法は C 言語で主に用いられるもので、実は C++ で使われることはあまりない。 ここでは new/delete への導入として malloc/free について触れる。 まず、char 型のポインタ *p を定義し、そのポインタの指す先に要素数 SIZE=255 個の char 型の配列を確保することを考えよう。 「第二回-04 : メモリとポインタ」で取り扱ったように、これは なる命令で実現出来る。この際、ヒープ領域というメモリ領域から領域が確保されるのであった。 なお、

    第四回-02 : new/delete によるメモリの動的管理
  • MeCabをC++から使ってみる | mwSoft

    概要 MeCabのTaggerとかLatticeをC++から直接呼んで形態素解析してみた。 MeCabのコードリーディングをしようかと思ったので、その前に生っぽい感じのコードを書いて感覚を養ってみようという試み。 尚、記事のサンプルコードはエラー処理とか全然してないので注意。 簡易コード まずは極力シンプルなコードで形態素解析を実行してみる。 #include <iostream> #include <mecab.h> int main(int argc, char **argv) { char input[1024] = "ジョニーは戦場へ行った"; MeCab::Tagger *tagger = MeCab::createTagger(""); const char *result = tagger->parse(input); std::cout << result << std:

  • ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き - - c/c++でsqliteを使う方法

    sqlite3をc/c++で使う方法についてメモ。 以前rubysqlite を使う方法 - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き -でも書いたように、DBを使うアプリケーションは、通常はrubyなどのスクリプト言語で記述したほうが楽です。 でもc/c++からもデータベースを使えると非常に便利です。 公式なリファレンスマニュアル http://www.sqlite.org/capi3ref.htmlAPIの一覧があります インストール debian であれば libsqlite3-dev を入れるだけです. $ sudo apt-get update $ sudo apt-get install libsqlite3-dev sqlite3 のAPI よく使うAPIを列挙していきます Database への接続 データーベースとして、 hogehoge.db

    ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き - - c/c++でsqliteを使う方法
  • C++高速化

    はじめに 速いプログラムで得られるメリットを超えるようなコストを払わないように。 まずは動くプログラムを書いて目的を達成することが大事。 自分律速じゃなくてプログラム律速だなと感じた段階でリファクタリングを考える。 プログラム来の意図が読み取れなくなりそうなマニアックな高速化は避ける。 清く正しくメンテナンスしやすいプログラムを書くほうが結局は生産的。 学習目的でない限り、車輪の再発明を避ける。 やろうとしていることはきっと既に誰かが実現し、 再利用可能な形で公開してくれているはず。 まずは標準ライブラリとかBoostを探してみる。 あとGitHubでスターが多いやつとか。 頑張れコンパイラ Intelの icc でビルドされたプログラムは速いらしい。 gcc や clang の最適化技術も着々と進歩しており、 新しいコンパイラを使うほうがその恩恵を受けられる。 最適化オプション htt

    C++高速化
  • Google C++スタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • TAKENAKA's Web Page: meshcode

    Perl, R, Ruby, C++ で作成したプログラムの実行速度の比較 from 2013-01-24 updated on 2013-09-30 はじめに コンピュータにやって欲しい仕事を指示するため、人はプログラムを書きます。 そのための言語にはさまざまなものがあります。目的に応じて書きやすいものを使えばよいのですが、 多量の計算が必要な場合、計算のスピードも気になります。 私自身、および私の周囲に使用者がいる言語4つ(Perl, R, Ruby, C++) で、 簡単な比較(ベンチマークテスト)をしてみました。 R ではデータの処理方法によって大きく計算時間が変わるといわれていますので、 データ構造やデータの処理法間の比較もしてみました。 なお、この結果は実行するプログラムの内容によって大きく変わりますし、 処理系によっても変わります。あくまで参考程度の情報です。 言語の選び方に

  • GNU Scientific Library — GSL 2.7 documentation

    » GNU Scientific Library View page source Next GNU Scientific Library¶ Introduction Routines available in GSL GSL is Free Software Obtaining GSL No Warranty Reporting Bugs Further Information Conventions used in this manual Using the Library An Example Program Compiling and Linking Shared Libraries ANSI C Compliance Inline functions Long double Portability functions Alternative optimized functions

  • IPA セキュア・プログラミング講座:C/C++言語編

    IPA 独立行政法人 情報処理推進機構 セキュリティセンターによるセキュア・プログラミング講座:Webアプリケーション編

  • C++関数の呼び出し - Visual C# - Visual Studio User Group

    # MFC, ATL, WTL では,デフォルトの状態だと, # /clr だけではビルドできず,数時間ハマったので... C++プロジェクトで,プロジェクトのプロパティを開き, 構成プロパティ -> C/C++ の コード生成 で, ランタイム ライブラリ のところを(例えば,ATLだと, /MTd, /MT になってるところを)  ・ Debugビルド時       /MDd  ・ Releaseビルド時     /MD にします。 (/clr スイッチと一緒には,  C/C++ランタイムは,ダイナミックリンクしか使えないので,  /MTd, /MT 等は,使えないようです。 ※ 以下のリンク参考) で, 構成プロパティ -> 全般 で,共通言語ランタイムサポート のところを /clr にします。 あと,ATLやWTLの場合, ソルーションエクスプローラで, 生成されたファイルの中

  • Microsoft Visual Studio Express

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    Microsoft Visual Studio Express
  • プログラミング言語学習の王道

    “プログラミング言語の王道”といえばC/C++言語です。「以前にCを勉強したことがあるけど、ポインタで挫折しちゃった」「当はVisual C++に興味があるのだけれど、なかなか手が出せなくて…」「言語仕様も大事だけど、コンパイラの仕組みもきちんと教えてやってほしい」──そんな皆さんの思いや期待に応えます。 あなたもプログラミングの王道を極めましょう。 C/C++は永久に不滅です! C/C++は永久に不滅です! C/C++の疑問にまとめてお答え 誰もがつまずくポインタを詳細解説 ウラから見たコンパイラ~リンカー~ローダーの仕組み クラス/継承/多態性をサンプルで理解 Visual Studio 2010導入・活用ガイド ついに登場したVisual Studio 2010 プロジェクトを作成し実装に取り掛かる IntelliSenseを活用しコーディングを効率化 ボタンや関連メソッドを生成

    プログラミング言語学習の王道
  • もっかいtypeof - デ-mk6

    前回より高性能なtypeofを作ってみた。Boost.Preprocessorは使ってないので多少長くなってしまうが、まぁ読む分には使ってないほうがマシかと思う。 機能的には、スカラ型やユーザ定義型を登録しておけば、それらのポインタやcvで修飾した型や、それらを使った関数型も自動で使えるようになっている。templateは未実装。 この後ソースを全文載っけてあるので見たい人だけ。もう既に全文開いちゃってる人は適当に何とかしていただければ。 #if !defined EXIST_TYPEOF_HPP_INCLUDED_ #define EXIST_TYPEOF_HPP_INCLUDED_ #include <boost/utility/enable_if.hpp> #include <boost/type_traits/is_same.hpp> #define EXIST_ENCODED_P

    もっかいtypeof - デ-mk6
  • Yaneu Labs --- コンピュータ将棋プログラムをLISPで書く

    *[hatefu:labs.yaneu.com/20090905/] コンピュータ将棋プログラムをLISPで書く 「コンピュータ将棋プログラムをLISPで書く」と言うとコンピュータ将棋開発関係者にすら完全にネタかと思われているのが実状ではあるが、私はこれを機にその誤解を解いておきたい。 ここでは、私がC#で書いたLISPエンジンのソースを公開し、これが実際にコンピュータ将棋プログラムの開発において非常に有効であることを示す。 * YaneLisp version 1.10 今回の記事はあまりに長文なので最後まで読む前に眠くなる人のために、まず始めに私が実装したLISPのバイナリとソースを配布しておく。ライセンスはNYSLとする。 勢いに任せて実装したので、かなり雑な作りだが、必要ならばC#側で関数を追加するなりすればいいと思う。このLISPの製作に要した時間は丸2日ぐらい。 # YaneL

  • 時間の計測 - C言語 - 碧色工房

    プログラムの課題などで実行速度を向上するにはどうしたらよいか? なんて問題が出されることがあります。 そんな時実際どれくらい時間がかかっているのかを測ってみたくなります。 ベンチマークソフトのように処理速度の計測なんかをできたら面白いかもしれません。 そこで、時間の測り方を書いてみたいと思います。 まず、時間関係の関数を使うには time.h というヘッダファイルをインクルードする必要があります。 こいつの中身を一度見ておいたほうがいいでしょう。 Windows の Visual C++ だと C:\Program Files\Microsoft Visual Studio\VC98\Include にあります。 VineLinux の場合は /usr/include/ にありますが、 内部で /usr/include/bits/ にある time.h をインクルードしているので二つとも見

    時間の計測 - C言語 - 碧色工房
  • MALLOC

    時事ネタ いや、「今、fj.comp.lang.cが熱い!」という話は ちょっと前から聞き及んではいたのですが、 流量が尋常じゃないらしいので、 忙しさもあって読むのを控えていたんですけど、 先日、大筋を拾い読みしてみました。 確かに熱いですねえ。 いったん収束するかなあ、と思ったら、なんかまた泥沼の気配が(^^; fjを読んでない人のために説明すると(って、 私も普段はあんまり読んでないんですが)、 「malloc()で確保した領域は、必ずfree()で解放しなきゃいけないか?」という 話題でして、「exit()する時には、OSが解放してくれるんだから 別にfree()しなくてもいいじゃん」という主張と、 「いや、malloc()には常に対になるfree()があるべきだ」という主張があって、 議論を呼んでいたのでした。 んで、私がどう思うかなんですが、 私は面倒臭がりなので、free()

  • ポインタのポインタのポインタと3次元配列の利用 - あらきけいすけの雑記帳

    [2007.10.28]以下ははC言語での話。C++については01tec.Com - Online Payday Loans Direct Lenders Onlyをヒントにしてね。 [2007.6.16にかなり手を加えた] 流体の計算では、場を表現するために3次元配列を使う。ところがC言語で次の二つの条件を同時に満たすように書くのは難しい: ある関数内、例えば最初の変数に関する差分を行う関数内では、配列の(i,j,k)番目の要素の呼び出しを a[i][j][k] と書きたい; その関数では、どのようなサイズの3次元配列でも使えるようにしたい。配列のサイズを仮引数として与える形に書いておいて、独立したソースファイルとして(include あるいは分割コンパイルして)利用したい。というのもプログラミング言語C 第2版 ANSI規格準拠 §5.7, p.137 にも書いてあるのだが一般には、配

    ポインタのポインタのポインタと3次元配列の利用 - あらきけいすけの雑記帳
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。