SVG Test Documentinkscape:window-width="2560" showgrid="false" inkscape:document-rotation="0" inkscape:current-layer="layer1" inkscape:document-units="mm" inkscape:cy="471.3062" inkscape:cx="4150 码力 | 5 页 | 11.74 KB | 6 月前3
Taming the C++ Filter View©2024 by josuttis.com 1 C++ Nicolai M. Josuttis josuttis.com @NicoJosuttis Taming the C++ Filter View September 17, 2024 16:45 - 17:45 MDT ©2024 by josuttis.com 2 C++ Nicolai M. Josuttis • Independent Topics: – Systems Architect – Technical Manager – SOA – X and OSF/Motif Nico Josuttis C++ Filter View @cppcon 2024-09-17 1©2024 by josuttis.com 3 C++ Views C++20 ©2024 by josuttis.com 4 C++ C++20: Output: 0 8 15 47 11 42 1 0 1 8 11 15 42 47 C++20 templateNico Josuttis C++ Filter View @cppcon 2024-09-17 2©2024 by josuttis.com 5 C++ C++20: Views void print(const auto& coll) { for 0 码力 | 43 页 | 2.77 MB | 6 月前3
Unraveling string_view: Basics, Benefits, and Best PracticesC++: string_view: Deep dive Jasmine Lopez Prithvi Okade 1Topics • Motivation • Performance benefits & basics • string_view: Constructors, useful functions • string vs. string_view and their interoperability interoperability • When to use string_view • Using string_view safely • Intro to span • span vs. string_view • Case study of an optimization using string_view. 2Motivation • Consider a function foo will end up calling “2”. And the code will miss the niceties of using the string API set. string_view helps in resolving this problem elegantly.Motivation 4 void foo(const std::string& str); void foo(const0 码力 | 61 页 | 1.11 MB | 6 月前3
《深入浅出MFC》2/e两本应该是够用了。不然就再加上一本SDK 书籍, 这样子应该是可以打个基础了。 CCA.bbs@cis.nctu.edu.tw:函数名称可以查help,重要的是C++ 的观念。另外就是要了 解MFC 里的Document/View/Frame,以及Dynamic Creation, Message mapping 等等。 深入浅出MFC 第二版对这些部份都有很深入的探讨,把MFC 里的一些机制直接trace code 作方式,亦尝试剖析其中与Windows 程序设计模型(注2)息息相关之特殊性质(注3)的 实作方式。 注1:此指runtime type information、dynamic creation、persistence、document/view¡ K。 注2:此指message based、event driven 之programming model。 注3:此指message mapping、command routing 412 Document/View 支撐你的應用程式 / 419 利用 Visual C++ 工具完成 Scribble step0 / 423 骨幹程式使用哪些 MFC 類別? / 423 Document Template 的意義 / 430 Scribble 的 Document/View 設計 / 4360 码力 | 1009 页 | 11.08 MB | 1 年前3
Constructing Generic Algorithms1PRECONDITIONS/POSTCONDITIONS? PRECONDITIONS/POSTCONDITIONS? Let's document them, even if we can't express them in contracts yet. Let's document them, even if we can't express them in contracts yet. 47 . 1 1PRECONDITIONS/POSTCONDITIONS? PRECONDITIONS/POSTCONDITIONS? Let's document them, even if we can't express them in contracts yet. Let's document them, even if we can't express them in contracts yet. (Pre) [ 1PRECONDITIONS/POSTCONDITIONS? PRECONDITIONS/POSTCONDITIONS? Let's document them, even if we can't express them in contracts yet. Let's document them, even if we can't express them in contracts yet. (Pre) [0 码力 | 145 页 | 8.44 MB | 6 月前3
Making Libraries Consumable for Non-C++ Developersto open, returns SIZE_MAX. */ size_t open_device(char const* dev); size_t open_device(std::wstring_view const dev); The types char and wchar_t do not indicate encoding. The size of wchar_t: • Windows sizeof(size_t) MSYS2 compile of gcc, sizeof(long) == 4You can make interop suck less by… Explicitly state/document argument content. • Instead of long or int, use int64_t or int32_t. • String encoding is not the less by… Explicitly state/document argument content. • Instead of long or int, use int64_t or int32_t. • String encoding is not the same as “width”. Explicitly state/document/reference function conventions0 码力 | 29 页 | 1.21 MB | 6 月前3
What's New in Visual Studio 2022supported within individual solutions for better collaboration Coming Soon: View Instruction Pointers for functions in modules view. Breakpoint Groups Visit https://aka.ms/BreakpointGroups for more details version 17.5, CMake Debugger in Visual Studio • Debug your CMake scripts and CMakeList.txt • View call stacks of file names • Open-source Visit https://aka.ms/CMake-debugger for more details AnnouncingSimplify CMakePresets.json C++ Modules support for Visual Studio generator projects New: CMake Debugger, Target View Improvements Visit https://aka.ms/cmakevs for more details🐧 Linux Targeting Target any Linux distro0 码力 | 55 页 | 3.27 MB | 6 月前3
Visual Studio Code: CppCon 2023Information Protection This document uses encryption powered by Microsoft Information Protection. You're seeing this page either because you are not authorized to view its content or are using an an unsupported PDF viewer. To open this document, use a PDF viewer that supports Azure Rights Management or contact the document owner to grant you permissions. Learn about PDF documents protected0 码力 | 1 页 | 3.10 MB | 6 月前3
Better Code: Contractsof development came when Hoare was working on [31]. Unusually, there was only one draft and this document - dated 11 December 1971 - is very close to the published form of the paper which was submitted presents the proof method much more in the spirit of program proofs than Milner's more algebraic view. An important step in proving the correctness of representations with respect to given abstractions weak strong class invariant high representational flexibility harder to reason about e.g. xml_document© 2023 Adobe. All Rights Reserved. What's in a “strong contract?” | Tradeoffs 62 weak strong0 码力 | 204 页 | 4.46 MB | 6 月前3
Quickly Testing Qt Desktop Applications With Approval TestsCHECK(argument.type() == QVariant::Int); CHECK(argument.toInt() == 17); } emit activated(17);39 High level view – version 1 Implementation Tests class GoToLineTool : public QWidget { ... private: QSpinBox* mSpinBox; being tested Testing easier Maybe encourages misuse of library if internals exposed42 High level view – version 2 Implementation Tests class GoToLineTool : public QWidget { ... public: QSpinBox* spinBox(); Can we improve readability of test? • Can we guard against changes to implementation?44 High level view – version 3 class GoToLineTool : public QWidget { ... public: QSpinBox* spinBox(); QToolButton*0 码力 | 77 页 | 6.96 MB | 6 月前3
共 216 条
- 1
- 2
- 3
- 4
- 5
- 6
- 22













