《C++ Standard Library》notes

EUI-NEO跨平台框架:纯C++多平台编译开发实战指南 跨平台开发是现代移动应用开发的重要技术方向,其核心原理是通过统一的代码库实现在多个操作系统上的运行。基于C++的跨平台框架通过直接编译为原生二进制代码,避免了中间解释层的性能损耗,在图形应用、游戏开发等高性能场景中具有显著优势。EUI-NEO框架采用'纯C++一套代码多平台编译'的技术路线,提供了完整的UI组件库和平台抽象层,支持Android、iOS、Windows等多平台部署。该框架在内存管理灵活性、原生性能体验和统一API设计方面展现出独特价值,特别适合需要精细控制性能的移动应用开发场景。通过CMak 阅读详情
 
Chapter 3. General Concepts
3.3.1 Standard Exception Classes
l          Standard exception classes can be divided into three groups:
1.      Exceptions for language support
2.      Exceptions for the C++ standard library
3.      Exceptions for errors outside the scope of a program
 
l          std::bad_exception
           class E1;
   class E2;
   void f() throw(E1)       //throws only exceptions of type E1
   {
       ...
       throw E1();          //throws exception of type E1
       ...
       throw E2();          //calls unexpected(), which calls terminate()
   }
if class bad_exception is part of the exception specification, then unexpected() usually rethrows an exception of this type:
 class E1;
   class E2;
   void f() throw(E1, std::bad_exception)
                          //throws exception of type El or
                          //bad_exception for any other exception type
   {
      ...
      throw E1();         //throws exception of type E1
      ...
      throw E2();         //calls unexpected(), which throws bad_exception
   }
 
 
C++项目结构规范:从源码组织到CMake配置的工程实践 在软件工程中,清晰的项目结构是保障代码可维护性和团队协作效率的基础。其核心原理在于通过模块化设计实现关注点分离,将源码、头文件、构建产物、文档和第三方依赖等不同职责的内容划分到独立的目录中。这种规范化的价值在于能显著降低项目的认知负荷,减少路径冲突和编译错误,从而提升开发效率和代码质量。在C++这类需要显式管理编译和链接的语言中,合理的目录结构尤为重要。结合CMake等现代构建工具,可以实现源码与构建分离、依赖管理自动化以及跨平台支持。本文以C++项目为例,深入解析了如何设计一个标准、可扩展的目录结构,并详 阅读详情

相关推荐

QuickFIX C++库从安装到实战:手把手构建金融交易通信引擎

在金融电子交易领域,不同系统间的可靠通信是核心基础。FIX协议作为行业标准,定义了结构化消息格式,确保了交易指令的准确、高效传递。其底层实现涉及复杂的网络通信、消息序列化、会话状态管理和心跳维护机制。QuickFIX库封装了这些底层细节,为开发者提供了稳定、高效的FIX协议实现,极大降低了开发门槛。通过集成OpenSSL,它还能满足生产环境对通信链路加密的安全要求。无论是构建高频交易系统、风险管理系统,还是对接交易所API,QuickFIX都能作为坚实的通信引擎。本文将以C++版本为例,从环境搭建、核心概念

weixin_30915951的博客 358

Chapter 5: The Standard Library (C++20)_《C++20Get the details》_notes

The Standard Library

C/C++ 775

从.pro到CMakeLists.txt:手把手教你将老旧Qt项目从QMake迁移到CMake(附避坑指南)

本文详细介绍了如何将老旧Qt项目从QMake迁移到CMake的完整实践指南。通过对比QMake和CMake的特性差异,提供从基础配置到高级特性的逐步迁移方案,包括Qt模块处理、资源系统迁移、平台特定代码处理等关键步骤,并附有常见问题解决方案和性能优化技巧,帮助开发者顺利完成项目现代化改造。

crhwkrhpunow61910的博客 524

[Essential C++ notes] Chapter 3 泛型编程风格

原书:Essential C++, Stanley B. Lippman, 电子工业出版社, 2013. 章节:第3章 泛型编程风格 环境:CLion + MinGW Standard Template Library(STL)主要由两种组件构成: (1) 容器,包括vector, list, set, map等类 (2) 泛型算法, 包括find(), sort(), replace(...

young_cr7的博客 235

C++ STL标准模板库 notes

STL的从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),容器和算法通过迭代器可以进行无缝地连接。几乎所有的代码都采 用了模板类和模板函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。在C++标准中,STL被组织为下面的13个头文 件:<algorithm>、<deque>、<functio...

costeeer的博客 282

CANN/GE ES库生成CMake指南

Provides the following CMake functions for generating Eager Style (ES) artifacts: - **`add_es_library_and_whl`**: Generate C/C++ dynamic library + Python wheel package (complete artifacts) - **`add_e

gitblog_00234的博客 810

CANN/ge ES API生成CMake指南

Provides the following CMake functions for generating Eager Style (ES) artifacts: - **`add_es_library_and_whl`**: Generate C/C++ dynamic library + Python wheel package (complete artifacts) - **`add_e

gitblog_00764的博客 1047

C++算法刷题工程化实践:从解题技巧到项目构建

算法是计算机科学的核心基础,其本质是通过一系列指令高效解决特定问题的计算方法。理解算法的核心在于掌握其时间与空间复杂度分析,这直接决定了程序的执行效率与资源消耗。在工程实践中,将算法解题过程系统化、项目化,能极大提升学习效果与代码复用能力。通过构建本地可维护的代码库,结合版本控制与系统化笔记,可以将零散的解题经验沉淀为结构化的知识体系。对于C++开发者而言,在此过程中深入探究不同数据结构(如vector、unordered_map)与算法范式(如滑动窗口、双指针)的适用场景与性能差异,具有极高的技术价值。本

weixin_34116110的博客 416

ROS 2 Iron Irwini工程演进解析:C++17迁移与launch系统升级

ROS 2作为机器人操作系统的核心中间件,其版本演进深刻影响着工业级系统的稳定性与可维护性。理解其底层构建规范、C++标准演进逻辑及声明式启动机制,是保障跨版本兼容、故障快速定位和长期运维的关键。Iron Irwini作为关键LTS版本,标志着ROS 2从实验走向生产的重要拐点——它系统性落地C++17特性(如std::optional、if constexpr),重构了消息序列化与内存安全模型;同时将launch系统升级为支持超时控制、TTY模拟与生命周期管理的可编程基础设施。这些改进不仅提升了开发者体验

weixin_33978044的博客 328

Clang 20与C++20下fmt库编译兼容性深度解析与解决方案

C++20标准引入了现代化的格式化库std::format,为类型安全的字符串格式化提供了官方解决方案。其核心原理是通过编译期格式字符串解析和类型检查,结合模板元编程技术,在保证类型安全的同时实现高性能格式化输出。这一特性显著提升了C++在日志系统、文本序列化及用户界面生成等场景下的开发效率与代码健壮性。在实际工程实践中,当开发者将项目升级到C++20并使用前沿编译器如Clang 20时,常会遇到与流行格式化库fmt的兼容性问题。这些问题通常源于编译器对C++20新特性的实现差异、库版本的条件编译逻辑以及项

weixin_34341117的博客 505

HybridCLR热更新集成:Unity构建失败的系统性诊断与解决方案

热更新技术是现代游戏和应用开发中的核心需求,它允许开发者在不停机的情况下动态更新代码逻辑,极大地提升了产品迭代效率和问题修复能力。其原理通常是通过在运行时加载和执行新的代码模块来实现。在Unity生态中,原生C#热更新方案因其性能和兼容性优势备受关注。HybridCLR作为该领域的代表性解决方案,深度集成IL2CPP后端,为开发者提供了接近原生性能的热更新能力。然而,其强大的技术价值背后,是相对复杂的集成和构建流程,尤其是在与Unity的构建系统对接时,环境配置、版本兼容性和程序集划分等环节极易出现问题,导

weixin_33898876的博客 344

CANN/catlass基础矩阵乘法aclnn示例

aclnn is the standard calling interface used throughout the CANN software stack. The msOpGen tool provided by CANN generates the template project framework for these interfaces, enabling users to quic

gitblog_01037的博客 475

CUDA 13.0迁移指南:从API变更到实际项目升级的完整攻略

你是否正在将CUDA项目升级到13.0版本,却在编译时遇到大量弃用警告?是否发现原本运行正常的代码在新版本中无法编译通过?CUDA 13.0作为NVIDIA GPU加速计算平台的重要更新,带来了多项API改进与功能增强,但同时也意味着你需要对现有代码进行系统性的适配。本文将为你提供从问题识别到解决方案的完整迁移路径,帮助你的项目平滑过渡到CUDA 13.0。 ## 核心问题:API演进带来的兼容

gitblog_00583的博客 465

Qt构建系统对比:CMake与qmake的工程实践指南

构建系统是现代软件开发中的核心基础设施,负责管理代码编译、依赖处理和跨平台适配。CMake作为当前主流的跨平台构建工具,采用声明式语法实现精确的依赖控制,支持现代C++特性集成,在大型项目中展现出卓越的可维护性。qmake作为Qt传统构建工具,凭借与Qt生态的深度集成,为快速原型开发提供了简洁的配置语法。在Qt开发领域,两种构建系统各有侧重:CMake擅长管理复杂项目结构和第三方依赖,其target_link_libraries机制可实现精细的模块化控制;qmake则通过.pro文件简化基础配置,自动处理m

weixin_33859231的博客 307

CANN/cmake构建框架指导文档

Guidance for OpenCode sessions working in this repo. ## What this repo is Shared CMake/Python build, packaging, and install framework for the CANN ecosystem. It is **not a standalone buildable proje

gitblog_00030的博客 1051

CANN/asc-devkit Mmad性能测试示例

This example tests the performance of matrix multiply-add operations using Mmad series interfaces. It covers the computation path where matrices A and B are multiplied by the Cube computation unit fro

gitblog_00813的博客 438

PaddleOCR全版本部署避坑指南:v2到v6安装、国产系统、C++/ONNX/ARM/Mac适配

OCR技术中,PaddleOCR作为主流开源工具,其核心挑战不在算法本身,而在多版本共存下的环境兼容性与工程落地稳定性。它本质是一套动态演进的版本矩阵系统,涉及PaddlePaddle底层框架、CUDA/cuDNN驱动、Python运行时及硬件平台(NVIDIA/AMD/Mac M系列/国产ARM)的深度耦合。理解各版本间的架构断点(如v3.x起强制显式安装PaddlePaddle、v6.x弃用pip install paddleocr)、掌握跨平台部署逻辑(统信UOS、Docker轻量化、Windows离

weixin_33795806的博客 368

《如何阅读一本书》摘要

  [美]莫提默·J·艾德勒 查尔斯·范多伦第一篇 阅读的层次第一章     阅读的活力与艺术或许我们对这个世界的了解比以前的人多了,在某种范围内,知识(knowledge)也成了理解(understanding)的先决条件。这些都是好事。但是,“知识”是否那么必然是“理解”的先决条件,可能和一般人的以为有相当差距。我们为了“理解”(understand)一件事,并不需要“知道”(kn

funfar的专栏 2632
上一篇: 《C++ Primer》读书笔记
下一篇: 《如何阅读一本书》摘要
funfar
博客等级 码龄19年 2粉丝 9原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值