文章 2024-07-25 来自:开发者社区

C++为什么有参数依赖查找(ADL)?

从一个编译问题说起: shell 代码解读 复制代码 xxx.cc:100: error: reference to 'sort' is ambiguous    sort(vec_.begin(), vec_.end(), std::less<double>()); yyy.h:5 note: candidate found ...

C++为什么有参数依赖查找(ADL)?
文章 2024-03-27 来自:开发者社区

【C/C++ 设计思路】C++中解耦策略的艺术:有效管理复杂依赖关系

第一章: 引言 在探索软件开发的深邃海洋中,解耦(Decoupling)是一颗灿烂的明珠。在这个过程中,我们不仅在技术层面上追求极致,而且在心理和哲学层面上,也寻求与代码和架构的和谐共生。正如心理学家卡尔·罗杰斯(Carl Rogers)在《成为一位人》中所说:“真正的智慧不仅是知识的累积,而是对知识的深刻理解。” 这同样适用于软件架构的世界,特别是在处理复杂依赖关系时。 1.1...

【C/C++ 设计思路】C++中解耦策略的艺术:有效管理复杂依赖关系
文章 2024-03-26 来自:开发者社区

【C++模板的派生】探索C++模板中的依赖名称问题及其解决方案

1. 模板中的依赖名称问题 (The Issue of Dependent Names in Templates) 在C++编程中,模板和特化是一种常见的技术,用于实现代码的泛型和重用。但是,在这个过程中,我们经常遇到一个问题,那就是依赖名称的问题。依赖名称是指在模板中依赖于模板参数的名称。 1.1 依赖名称的概念 (Concept of Dependent Names) ...

【C++模板的派生】探索C++模板中的依赖名称问题及其解决方案
文章 2024-03-20 来自:开发者社区

C++项目中打破循环依赖的锁链:实用方法大全(三)

C++项目中打破循环依赖的锁链:实用方法大全(二)https://developer.aliyun.com/article/1465910 五、编译和链接策略(Compilation and Linking Strategies) 在解决C++项目中的循环依赖问题时,编译和链接策略也起到了重要作用。通过采用恰当的编译和链接策略,开发者可以减少循环依赖的出现,从而提高项目...

文章 2024-03-20 来自:开发者社区

C++项目中打破循环依赖的锁链:实用方法大全(二)

C++项目中打破循环依赖的锁链:实用方法大全(一)https://developer.aliyun.com/article/1464092 3.2 移除中间人(Remove Middle Man) 移除中间人是一种代码重构技巧,旨在减少不必要的间接层次,简化代码结构。在解决循环依赖问题时,可以通过移除中间人来减少模块之间的依赖关系。 以下是移除中间人的关键步骤:...

文章 2024-03-20 来自:开发者社区

C++项目中打破循环依赖的锁链:实用方法大全(一)

一、简介(Introduction) 1.1 循环依赖的定义(Definition of Circular Dependencies) 循环依赖(Circular Dependencies)是指在软件开发中,两个或多个模块之间存在相互依赖的情况。这意味着一个模块直接或间接地依赖另一个模块,同时,另一个模块也直接或间接地依赖于第一个模块。在C++项目中,循环依赖可能出现在类、函数或...

文章 2018-10-17 来自:开发者社区

xmake v2.2.2 发布, 让C/C++拥有包依赖自动构建

历经四个多月,xmake终于更新了新版本v2.2.2,并且上线了重量级功能:原生支持的远程依赖包管理。 而这个特性,其实我陆陆续续写了将近一年的时间,才初步完成,对于此特性的开发进展和历史,有兴趣的同学可以看下相关issues:#69。 项目源码 官方文档 目前的实现效果如下,完全一致的语义版本依赖描述: 完全一致的跨平台构建行为,一键xmake编译: 完整的项目描述: add_...

xmake v2.2.2 发布, 让C/C++拥有包依赖自动构建
文章 2017-11-14 来自:开发者社区

[转] Matlab与C++混合编程(依赖OpenCV)

作者 zouxy09@qq.com,原文 Matlab与C++混合编程(依赖OpenCV)   之前在运行别人论文的代码的时候,经常有遇到Matlab与C++混合编程的影子。实际上就是通过Matlab的Mex工具将C++的代码编译成 Matlab支持调用的可执行文件和函数接口。这样一方面可以在Matlab中利用已经编写好的函数,尽管这个函数是用C++编写的。实现了交流无国界, 没有江山一...

文章 2017-11-12 来自:开发者社区

[C++再学习系列] typename和依赖类型

template<typename(class) T> class Widget { ... }; class 和 typename 均可用于声明模板的形式类型参数,但 typename 能更清楚地表示: T 可以是任何 类型;不必是一个类。 为了避免潜在的模糊解析,编译器要求在依赖形式类型参数的类型名字之...

文章 2017-03-12 来自:开发者社区

读书笔记 effective c++ Item 31 把文件之间的编译依赖降到最低

  1. 牵一发而动全身 现在开始进入你的C++程序,你对你的类实现做了一个很小的改动。注意,不是接口,只是实现,而且是private部分。然后你需要rebuild你的程序,计算着这个build应该几秒钟就足够了。毕竟,只修改了一个类。你点击了build 或者输入了make( 或者其他方式),你被惊到了,然后羞愧难当,因为你意识到整个世界都被重新编译和重新链接了!当这些发生时你不觉的感到...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注