I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
![使いたい標準C++機能がない環境でいかに実装・設計するか](https://cdn-ak-scissors.b.st-hatena.com/image/square/20ceb4524dc5d2021750282a01b476c3241c5987/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F39b1c88914d1403a8ea76bd600f63e25%2Fslide_0.jpg%3F28888047)
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
GCC versionごとにサポートされる仕様については C++ Standards Support in GCC を、パッケージマネージャーでインストール可能なパッケージについては Ubuntu パッケージ検索 を参照してください。 Concepts Concepts は、一定の特徴を持ったクラスの範囲を表すことができる概念です。例えば、テンプレート関数で、一定の範囲のクラスだけテンプレートパラメータに代入できることを明示したりできます。拘束条件付きのテンプレート関数を、constrained template functionと言います。静的解析によってコンパイル前にエラーが判明するほか、コンパイル時間の短縮もされるらしいです。 以下のコードでは、拘束条件付きのテンプレート関数と、従来のテンプレート関数を使って、引数に非対応の型を入力した場合の挙動を比較します。 ここでは、テンプレート
こんにちは、この記事はAltplus Advent Calnendar 2017の17日目のエントリです。 仕事ではAkka Streamの綺麗さに感動しつつ、プライベートのプロジェクトではC++17でコーディング中の竹田です。 先日発行されたC++17ではPolymorphic Allocatorと呼ばれるAllocatorが導入されました。この導入を受けてか、Cppcon 2017ではAllocator関連の発表が多くありました。 Allocatorの問題点 そこにあるのに誰も気付かず、ないと生きていられない、まるで空気のような存在のAllocatorですが、みんな大好きstd::vectorテンプレートの第2型パラメータの彼です。 Allocatorは型に対してメモリを提供することが役割で、STL(Standard Template Library)をコンピュータのメモリ・モデルから
「C++」は非常に人気があるプログラミング言語だが、同言語の標準化に取り組んでいるグループが、C++の「メモリ安全性」を(新しいライバル言語である「Rust」のように)高めるための今後の道筋について議論する文書を発表した。 Rustは、MicrosoftやAmazon Web Services(AWS)、Meta、GoogleのAndroid Open Source Project、主にC++で書かれている「Chromium」プロジェクト(まだ始まったばかりだが)、Linuxカーネルなど、多くの企業やプロジェクトで採用されており、メモリ関連のセキュリティホールを減らすのに役立っている。最近では、米国家安全保障局(NSA)までが、開発者に対してC++からC#やJava、Ruby、Rust、Swiftへの戦略的な移行を促す事態になっている。 C++の生みの親であるBjarne Stroustr
C++ Core Guidelines May 11, 2024 Editors: Bjarne Stroustrup Herb Sutter This is a living document under continuous improvement. Had it been an open-source (code) project, this would have been release 0.8. Copying, use, modification, and creation of derivative works from this project is licensed under an MIT-style license. Contributing to this project requires agreeing to a Contributor License. See
みなさんはC++の読み書きができますか? 自信がある方、いつ頃勉強しましたか?もし20世紀に勉強したのであれば、その知識は相当古いです。実質現在のModernC++(C++11以降のC++)とは概念上の互換性がないので脳のアップデートが必要です。 自信がない方、文法は知っているけどなんとなく使いこなせていない方、マサカリ屋にあーだこーだ言われて大混乱している方。必勝パターンを身につければもっと楽にコードを読み書きできるようになるかもしれません。 この文章の目的は、ModernC++におけるメンタルモデル(考え方)や必勝パターンをざっくりと導入することでみなさんが楽にModernC++を読み書きできるようなお手伝いをすることです。主要な内容としてはムーブセマンティクスと右辺値 とその次の章でだいたいA4換算で15ページくらい?ほかは正直流し読みしてもらえるような内容です。また、内容的にはその
Web フレームワーク「Drogon」とは? つい最近、TechEmpower が独自でベンチマークを計測したランキングで、とある Web フレームワークがトップに輝きました。 【TechEmpower Framework Benchmarks】 https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=composite それが「Drogon」です。 C++のフレームワーク「Drogon」は、Webフレームワークでは珍しい、C++で実装されたフレームワークです。 そのため、処理速度がかなり速く、JSON データならば 1秒間に 1,077,826 件のリクエストを捌けるとのこと。 高速処理で有名な Python WebAPI フレームワーク「FastAPI」でさえ 171,055件/秒ですので、その圧倒的な差が
C++20 introduces concepts as a way to write powerful self-documenting templates. At their core, concepts are logical binary expressions that can be used to constrain the template parameters of any class or function template. These logical expressions are evaluated at compile time to determine whether the template parameters satisfy the given constraints. The purpose of this tutorial is to be a def
はじめに この記事は「プログラミング技術の変化で得られた知見・苦労話【PR】パソナテック Advent Calendar 2020」のために書かれたものです。 僕は去年の11月から一念発起してRustの勉強を初めて趣味で同人ゲームを開発しています。元々C++を4年程使っていて「C++最高、みんなC++使おう」とか友人に布教していました。しかし、C++プログラマは「一番自分たちの言語の批判に対して強くなる」と言われるほどC++はよくディスられます。もちろん僕も例外ではありませんでした(笑)。 一応僕もPythonを適当に使うようになってからC++のcppとhppを組み合わせるようなCの名残を感じるところや他言語と比べたときの標準ライブラリの貧弱さ、コードが冗長になりやすい点など使いにくいなあと思いはじめましていました。ですがPythonはあくまでも適当に使ってただけでしたし、一通り書けるJa
文書の一覧 JTC1/SC22/WG21 - Papers 2021 mailing2021-04 全部で55本あり、SG22(C/C++相互互換性に関する研究グループ)のCの提案を除くと48本になります。 P0323R10 std::expected P0447R13 Introduction of std::colony to the standard library P1121R3 Hazard Pointers: Proposed Interface and Wording for Concurrency TS 2 P1122R3 Proposed Wording for Concurrent Data Structures: Read-Copy-Update (RCU) P1132R7 out_ptr - a scalable output pointer abstraction
※この内容はC++20より有効なものです。現行(C++17)ではまだ1ミリも利用可能な情報ではありません。また、随時記述が変更される可能性があります。 Spaceship Operator(宇宙船演算子)とは 自動生成される演算子 対称性 default実装 暗黙deleteされるケース 戻り値型 その他比較演算子のdefault実装 Comparison category types(比較カテゴリ型) weakとstrong substitutability(代入可能性、代入原理) 狭義の弱順序との関係 共通比較カテゴリ型(Common comparison category type) 比較カテゴリ型と==,<を利用した宇宙船演算子の合成 合成のレシピ 戻り値型指定と==は必要? 組み込み型の宇宙船演算子 operator==について 任意のクラス型の非型テンプレートパラメータとしての
◆ 内容 本書は、2020 年 9 月に開催された CEDEC 2020 講演「ゲーム開発者のための C++11~C++20, 将来の C++ の展望」で取り上げた C++11~C++20 機能を解説し、説明や項目、サンプルを加筆した本です。 CEDEC ではスライドの面積の都合で include や詳細な実装が省略されていたコードも完全な形で掲載しています。 さらに付録として、2020 年 12 月時点での C++ 標準化委員会の議論の状況を反映し、C++23 に入ることが決まった / 入る見込みが高い 13 個の提案を先取りで解説しています。 ◆ 注意 本書は 2020 年 12 月の「技術書典 10」で販売された PDF 書籍・紙書籍(https://techbookfest.org/product/5738569643589632)と同一の内容です。 必要に応じて改訂やマイナーアッ
範囲for文とは C++11に範囲for文がある。VisualStudioでは2012から使えるようになった。 これは、STLのコンテナや、組み込み配列をfor文で最初から最後までの要素を処理する時に、従来のfor文でいちいち「最初から、終わりまで」という範囲を書かなくて済むというもの。 例 #include <iostream> int main() { int a[3] = {1, 2, 3}; //今まで(C++03) : 配列の範囲を指定しなければならなかった for(int i = 0; i < 3; ++i) { std::cout << a[i] << std::endl; } //範囲for文(C++11) : 配列の最初から最後まで操作することが自明 for(int it : a) { std::cout << it << std::endl; } } この例でイメージは
つい昨日(日本時間では今日)、TechEmpowerが行っているWebアプリケーションのベンチマーク結果が更新されました。 なんと、Round 18ではRustのフレームワーク「actix-web」が2位以下に大差をつけて圧勝していたにも関わらず、Round 19ではさらにそれを上回るライブラリが出現しました。 その名もdrogon! 名前からして素晴らしいフレームワークの予感がしますが、Rustのactix-webとはどのような点で異なり、またどのようにしてこの速度を達成したのか気になったので調べてみました。 フルスタックのライブラリ drogonはフルスタックのWebアプリケーションフレームワークとして実装されています。つまり、(actix-webとは違い)データベースとのやり取りを行うAPIやJSON, ORM, HMRなどさまざまな機能が盛り込まれています。 一方actix-web
# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) # yum install -y devtoolset-8 # scl enable devtoolset-8 bash ... 略 # which gcc /opt/rh/devtoolset-8/root/usr/bin/gcc # gcc --version gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3) Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILIT
cles::blog 平常心是道 blogs: cles::blog NP_cles() « CentOS 7 に MS SQLServer をインストールしてみる :: iOS 12.1.1 にアップデート » 2018/12/06 CentOS 7 で C++14 対応の gcc が使いたかったので・・・ centos7 cpp 275 0へぇ nghttp2 は v1.35 からコンパイラが C++14 に対応していないとコンパイルできなくなってしまったので、CentOS 7 でビルドするためには新しい gcc を導入する必要があります。 ソースから入れてもいいのですが、後々の管理を考えると yum で入れておいた方が何かと楽なので、今回は Developer Toolset 7 を使うことにしました。 以下の通り、簡単なコマンドですぐに導入できます。 # インストール yum
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く