主页

开源许可

#AskCpp14 这么多开源协议都有什么区别呀?Qt 的许可协议有 LGPL、GPL、商业授权,那么基于开源的 Qt 开发的程序也需要开源吗? 你可以在“开源计划”的官网上查看所有协议的详细内容 https://opensource.org/ 以下是阮一峰老师的开源许可证教程,对相关概念讲得比较清晰 http://www.ruanyifeng.com/blog/2017/10/open-source-license-tutorial.html 假如你要为自己的开源项目选择协议,可以通过 GitHub 提供的“开源协议选择器”,会一步一步带领你选择 https://choosealicense.com/ https://ufal.github.io/public-lic...

阅读更多

Qt 处理字符串的类

#AskCpp13 Qt 操作字符的类有哪些?QString、QByteArray、…,何时使用何种类,搞不清楚哇!! Qt 字符串相关的类 类 说明 QByteArray Array of bytes QByteArrayList List of byte arrays QByteArrayMatcher Holds a sequence of bytes that can be quickly matched in a byte array QChar ...

阅读更多

由 std::copy_if 想到的

#AskCpp12 how to convert a float array to a double array in C++? 有一种方法是利用标准库中的算法库。 std::copy_if C++ 11 中只能用 copy_if。前三个参数好理解,两个源迭代器 + 一个目标迭代器,第三个参数称之为一元谓词。 何为谓词? Effective STL “A predicate is a function that returns bool (or something that can be implicitly converted to bool). Predicates are widely used in the STL. The comparison f...

阅读更多

存储器的层次结构

#AskCpp11 存储器的层次结构是怎样的? 一个简单的计算机系统模型是:CPU 执行指令,而存储器系统为 CPU 存放指令和数据。 作为一个程序员,你需要理解存储器层次结构,因为它对应用程序的性能有着巨大的影响。如果你的程序需要的数据是存储在 CPU 寄存器中的,那么在指令的执行周期,在 0 个周期内就能访问到它们。如果存储在高速缓存中,需要 4~75 个周期。如果存储在主存中,需要上百个周期。而如果存储在磁盘上,需要大约几千个周期! 由此产生出计算机系统中一个基本而持久的思想:如果你理解了系统是如何将数据在存储器层次结构中上上下下移动的,那么你就可以编写自己的应用程序,使得它们的数据项存储在层次中较高的地方,在那里 CPU 能更快地访问他们。 这个思想围绕...

阅读更多

C++支持多范式编程

#常说 C++ 是一种多范式的编程语言,怎么理解? 什么是编程范式? 是一种方法论,不同的范式代表解决问题的不同方式。 C++ 是一种多范式编程语言,主要支持以下 5 种编程范式: 面向过程 面向对象 泛型 模板元 函数式 面向过程 面向过程是 C++ 里最基本的一种编程范式。它的核心思想是“命令”,通常就是顺序执行的语句、子程序(函数),把任务分解成若干个步骤去执行,最终达成目标。 面向过程体现在 C++ 中,就是源自它的前身——C 语言的那部分,比如变量声明、表达式、分支 / 循环 / 跳转语句,等等。 面向对象 面向对象是 C++ 里另一个基本的编程范式。它的核心思想是“抽象”和“封装”,倡导的是把任务分解成一些高内聚低耦合的对象,这些...

阅读更多

请分类说说C++的数据类型。

#请分类说说 C++ 的数据类型。 参考 https://www.geeksforgeeks.org/how-to-return-multiple-values-from-a-function-in-c-or-cpp/ https://eli.thegreenplace.net/2016/returning-multiple-values-from-functions-in-c/

阅读更多

C/C++ 函数如何返回多值?

#C/C++ 函数如何返回多值? 在 C 中 用指针 用结构体 用数组 在 C ++ 中 同样可以用 C 中的方法 用引用 用类(类似于结构体) 用 std::tuple,std::pair C++ 17 中的 structured binding(结构化绑定) 参考 https://www.geeksforgeeks.org/how-to-return-multiple-values-from-a-function-in-c-or-cpp/ https://eli.thegreenplace.net/2016/returning-multiple-values-from-functions-in-c/

阅读更多

闭包是什么意思?

#闭包(Closure)是什么意思呀? 闭包是什么? C++ 中如何实现闭包? 参考 https://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures

阅读更多