タグ

c++に関するyamada55のブックマーク (13)

  • Modern C++チャレンジ

    数学の問題から、文字列処理、日付と時刻、並行処理、暗号、ネットワークまで、多岐にわたる100の問題を集め、その解法をC++で示します。ポピュラーで古典的な数学の問題をはじめ、C++17でのファイル操作やC++20での実行時間の計測、デザインパターン、テキスト翻訳、画像から顔検出など、身近で興味のわく魅力的な問題が多数収録されています。あらゆるレベルのC++プログラマはもちろん、これからC++を始める人にとっても、C++で何ができるのか、どのように書くのかを実際に手を動かしながら学び、プログラミングスキルをレベルアップすることができます。最新のC++17対応。 日語版まえがき まえがき 1章 数学の問題 問題 問題1 3または5で割り切れる正の整数の総和 問題2 最大公約数 問題3 最小公倍数 問題4 与えられた正の整数より小さい最大の素数 問題5 セクシー素数 問題6 過剰数 問題7 友

    Modern C++チャレンジ
  • Visual Studio 2015 / 2017 で発生する可能性がある _snscanf_s 関数の問題について

    こんにちは、Visual Studio サポート チームです。 今回は、Visual Studio 2015 / 2017 で発生する可能性がある _snscanf_s 関数の問題とその影響についてご案内します。 この問題は以下のように Stack Overflow でも報告されておりましたが、この度、複数のお客様から弊社へお問い合わせをいただきましたのでブログでもご紹介させていただきます。より多くの開発者様のお役に立てましたら幸いです。 VC2015で、double変数ddx_textのトラブル https://ja.stackoverflow.com/questions/16592/vc2015%E3%81%A7-double%E5%A4%89%E6%95%B0ddx-text%E3%81%AE%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB 現象 _snsc

    Visual Studio 2015 / 2017 で発生する可能性がある _snscanf_s 関数の問題について
  • 非推奨だった bool 型に対するインクリメント演算子を削除 - cpprefjp C++日本語リファレンス

    概要 C++17ではbool型に対する前置および後置のoperator ++を削除する。 bool型に対する前置および後置のoperator ++とはC++98の時点で非推奨になっていた機能である。 具体的にどのような働きをするのかというと、以下のように値をtrueに書き換える機能をもつ。 #include <iostream> int main() { bool b = false; const bool b1 = ++b; std::cout << std::boolalpha << b1 << std::endl; // => true const bool b2 = ++b; std::cout << std::boolalpha << b2 << std::endl; // => true }

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

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

  • Big Sky :: C++でcoutやcerrの挙動を変える。

    先日twitterで「C++でデバッグする時、よくやるよね」って言ったら結構知らない人がいたのでここでも紹介してみる。 既存のコードでcout/cerrを使ったデバッグ文がわんさかあって、これログファイルとして出力したいな...って場合ありますよね。 そんな場合 #include <iostream> #include <fstream> using namespace std; int main() { // こんなの ofstream ofs("debug.log"); cout.rdbuf(ofs.rdbuf()); // いれとく cout << "debug string" << endl; } こうしておくと、その後のcoutへの出力が全てdebug.logというファイルへ出力される。 なおrdbufを元に戻すには #include <iostream> #include <f

    Big Sky :: C++でcoutやcerrの挙動を変える。
    yamada55
    yamada55 2012/07/12
    ログファイルとして出力する
  • std::unique_ptrとstd::shared_ptr - 名古屋313の日記

    C++, STL, win32 | 12:13なんかVC++2010だとstd::unique_ptrが使えたのでメモメモ。std::unique_ptrといえば、boost::scoped_ptrがなんか知らないけど名前が変わっちゃったものという認識がありましたがstd::unique_ptrの方はカスタムデリータが使用出来るみたいです。std::shared_ptrだとオーバースペックだからboost::scoped_ptr使いたいけどカスタムデリータ使えないから不便だなー的なものが解消されました。カスタムデリータはdelete以外の方法でリソースを解放するポインタをスマートポインタに入れるのに使うわけです。自分で専用のRAIIオブジェクト作ればいーじゃん的な話もあると思いますが、スマートポインタは結構慎重に作らないとすぐにアホなポインタが出来上がってしまうので、やはりC++のエキスパ

    yamada55
    yamada55 2011/07/12
    カスタムデリーターの指定法
  • 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
  • ヘッダーファイルは慎重に扱わないと危険です

    ホーム < ゲームつくろー! < C++踏み込み編 < ヘッダーファイルは慎重に扱わないと危険です その7 ヘッダーファイルは慎重に扱わないと危険です ヘッダーファイルは関数やクラスのプロトタイプを宣言するファイルです。今更なんだと思われるかもしれません。しかし、ヘッダーファイルは慎重に扱わないと取り返しのつかないバグを生んでしまいます。それこそシステムが崩壊するほどのバグになることも時にはあります。 ヘッダーファイル軽んずべからず。この章はそういったヘッダーファイルにまつわるお話です。 ① ヘッダーファイルって何なのか? 冒頭でも述べましたように、ヘッダーファイルは関数やクラスのプロトタイプ宣言をするファイルです。プロトタイプ宣言とは、「変数の名前、型」そして「関数名、引数の型、戻り値の型」のみを記述する事を指します。クラスの場合、クラス名と共にクラスが持つメンバ変数やメンバ関数がプロト

    yamada55
    yamada55 2011/03/01
    循環参照でつまづいたので
  • float vs. double

    唐突ですが, 下記のコードを実行したとき速いのはどちらでしょう. また演算結果はどうなると予想されますか. double calcd(int n) { double ret = 0; for (int i = 1; i < n; i++) { ret += 1 / double(i); } return ret; } float calcf(int n) { float ret = 0; for (int i = 1; i < n; i++) { ret += 1 / float(i); } return ret; } int main() { printf("calcf=%.15f\n", calcf(100000000)); printf("calcd=%.15f\n", calcd(100000000)); } float型は遅い? いえ

    yamada55
    yamada55 2009/07/07
    浮動小数点、floatとdoubleどっちが速度速く精度良いか
  • Visual C++ 2005 Express Edition で DLL を作成する

    [要旨] Visual C++ 2005 Express Edition で Win32 な DLL を作成できるように環境を整えるにはどうすればいいかをまとめてみました。 [キーワード] Visual C++,Win32,コンソールアプリケーション,DLL

    yamada55
    yamada55 2009/07/04
    Microsoft Platform SDKを追加するための設定法
  • wcoutのlocale

    Visual Studio 2005のwcoutについて質問があります。 日語を出力する為に、wcout.imbue(locale("japanese")を指定したのですが、 設定直後は問題ないのですが、 locale::global(locale("japanese") を設定すると、wcoutに日語が出力されなくなります。 locale::global(locale("japanese")設定後は再びwcout.imbue(locale("japanese")を指定しても日語が出力されません。 使い方が間違っているでしょうか?

    yamada55
    yamada55 2009/05/02
    Visual Studio 2005はlocale::global(locale("japanese")とwcout.imbue(locale("japanese")を同時に使うとwcoutで日本語出力ができなくなるバグがある.リリースモードで実行すると日本語出力できるようになる.
  • std::stringとstd::wstringの相互変換 - kryozahiro’s diary

    ポータブルで簡単な方法を探していたら、 http://ml.tietew.jp/cppll/cppll/article/4783 がよさそうだったけど、バグがあったのでいろいろ修正してみた。 #include <cstdlib> #include <string> //ワイド文字列からマルチバイト文字列 //ロケール依存 void narrow(const std::wstring &src, std::string &dest) { char *mbs = new char[src.length() * MB_CUR_MAX + 1]; wcstombs(mbs, src.c_str(), src.length() * MB_CUR_MAX + 1); dest = mbs; delete [] mbs; } //マルチバイト文字列からワイド文字列 //ロケール依存 void widen

    std::stringとstd::wstringの相互変換 - kryozahiro’s diary
  • C#からC++/CLI越しにOpenCVのプログラムを呼ぶ方法 - k.kinukawaの日記

    昨日はコンピュータビジョン・拡張現実感に関する普通じゃない勉強会に参加しました。 その際に、C#からC++/CLI越しにOpenCVのプログラムを呼ぶ方法を調べたのでまとめておきます。 この方法は、あくまでOpenCVで書いたC/C++のプログラムをC#で呼ぶための方法です。 OpenCVをC#で実装したものではありません。 「C使えるし、OpenCVはCで書けるけどそれ以外の部分はC#で作りたいなー」という人向けです。 今回の件を調べているときに、サンプルが全然出てこなかったのでC++/CLI側の簡単なサンプルをアップしました。 環境 VisualC++2008 Express、VisualC#2008、OpenCV OpenCVのプログラムを作成する † VisualC++を使って、スタティックライブラリとしてOpenCVのプログラムを作成する。 プロジェクト作成の際には、Win32プ

    yamada55
    yamada55 2008/10/10
    unmanaged c++を使う.net用のDLLをC++/CLIで作る例。
  • 1