
C/C++
文章平均质量分 63
C++和C语言的交互问题
geodoer
一条热爱技术并且上进的咸鱼。
展开
-
[C++源码] 返回值封装-Status-fbxsdk
构建自己的状态类型是很有必要的,可以参照fbxsdk中的代码/**************************************************************************************** Copyright (C) 2016 Autodesk, Inc. All rights reserved. Use of this software is subject to the terms of the Autodesk licens翻译 2021-07-05 09:29:10 · 397 阅读 · 0 评论 -
[设计模式] 前言——两种思维模型
设计模式的前言:两种思维模型。原创 2022-01-23 20:17:53 · 639 阅读 · 0 评论 -
[设计模式] 重新认识面向对象
重新认识面向对象。原创 2022-02-21 09:06:03 · 526 阅读 · 0 评论 -
[设计模式] GoF 23种经典设计模式
GoF 23种经典设计模式原创 2022-01-23 20:09:11 · 373 阅读 · 0 评论 -
[SWIG] SWIG对Class包装的原理(以C#为例)
以C#为例,讲解SWIG对class包装的原理。原创 2021-12-25 17:21:57 · 1373 阅读 · 0 评论 -
[SWIG] 在VS中运行SWIG的官方示例
在Visual Studio中运行SWIG的官方示例。原创 2021-12-25 18:26:03 · 521 阅读 · 0 评论 -
[SWIG] HelloSWIG
SWIG HelloWorld原创 2021-12-14 18:39:16 · 1146 阅读 · 0 评论 -
[SWIG] 多继承与接口(%interface、%interface_impl、%interface_custom)
原文链接:https://www.yuque.com/cpptd/swig/xvh0b6SWIG系列笔记:https://www.yuque.com/cpptd/swig引言SWIG报错:warning 833: Warning for ITask, base IParameter ignored. Multiple inheritance is not supported in C#.与C#类似,许多语言都没有多继承,但是它们有接口的概念,一个类可以实现多个接口。因此,我们可以将C++多继.原创 2021-12-14 18:29:04 · 1360 阅读 · 1 评论 -
[SWIG] SWIG原理(以C#为例)
以C#为例,手写中间层,理解SWIG的原理。原创 2021-12-25 16:37:31 · 2027 阅读 · 0 评论 -
[SWIG] 源码编译与阅读
原文链接:https://www.yuque.com/cpptd/swig/gpxbohSWIG系列笔记:https://www.yuque.com/cpptd/swigWindows编译一、安装PCREPCRE库提供了正则表达式匹配功能,它使用与Perl 5一致的语法语义。它的API即包括native的API,又包含一套包装了POSIX regular API的API。PCRE是免费的,也可用于商业用途。下载地址:http://sourceforge.net/projects/pcre/.原创 2021-12-14 18:32:19 · 1022 阅读 · 0 评论 -
[CMake] 示例 多模块与安装(01-basic_E-installing Windows环境下,无法打开*.lib)
该示例地址:https://github.com/ttroy50/cmake-examples.git学cmake看这个仓库就可以了【问题】在Windows环境下,编译01-basic_E-installing时,提示找不到lib文件【原因】在Windows中,需要为导出类或函数设置dllexport之后,才会生成lib文件。用官方给的例子。编译之后,你会发现,没有cmake_examples_inst.lib文件解决一、使用dllexport将外部需要使用到的类导出#ifndef .原创 2021-10-25 09:56:02 · 378 阅读 · 1 评论 -
[conan] cmake_find_package生成器
C++ conan的cmake_find_package生成器,帮助我们无缝从原先的cmake切换使用conan。原创 2022-03-26 10:35:38 · 5203 阅读 · 0 评论 -
[CMake] 输出路径的问题(Visual Studio与非VS环境下,输出目录不同)
解决在Visual Studio生成器下(VS工程),与非VS下,输出目录不同的问题。原创 2021-12-14 18:22:19 · 2775 阅读 · 1 评论 -
[CMake] 判断当前环境支不支持C#
原文链接:https://www.yuque.com/cpptd/cmake/tifr91cmake系列笔记:https://www.yuque.com/cpptd/cmakeinclude(CheckLanguage)check_language( CSharp )if( CMAKE_CSharp_COMPILER ) enable_language( CSharp ) set(CMAKE_SUPPORTS_CSHARP TRUE)else() set(CMAKE_SUPPORT.原创 2021-12-14 18:26:24 · 494 阅读 · 0 评论 -
[C++STL] 严格弱序(less函数、小于号重载)
简而言之,严格弱序其实就是:对于相同的元素,无论是comp(a, b),而是comp(b, a)都要返回false,如此,才能判断a==b!原创 2023-03-19 21:04:24 · 1975 阅读 · 0 评论 -
[C++11] 类型推导(auto、decltype、返回值后置)
C++11中关于类型推导的内容。原创 2023-02-25 00:29:13 · 685 阅读 · 0 评论 -
[C++11] auto初始值类型推导
auto初始值类型推导原创 2023-02-25 00:28:34 · 776 阅读 · 0 评论 -
[C++11] decltype表达式类型推导
C++11新增了decltype关键字,用于在编译时期推导出一个表达式的类型。原创 2023-02-25 00:22:39 · 594 阅读 · 0 评论 -
[C++11] 返回类型后置
有了这个语法以后,对返回值类型的推导就可以用清晰的方式。原创 2023-02-25 00:24:01 · 1072 阅读 · 0 评论 -
[C++] 类型推导(C++11)
诚如C#语言中,可以通过var关键字来实现类型的推导,以此简化一些不需要关注变量类型的场景。而C++11也引入了类型推导。原创 2022-03-06 15:36:05 · 665 阅读 · 0 评论 -
[C++] 奇怪知识|C++坑合集
文章目录vector.size()-1导致死循环vector.size()-1导致死循环【错误代码】std::vector<int> v;for(int i = 0; i < v.size()-1; i++){ cout << i;}【输出】【示例代码】#include "iostream"#include "vector"using namespace std;int main(){ std::vector<int> v;原创 2020-05-15 17:15:09 · 513 阅读 · 0 评论 -
[C++开发环境] Vcpkg使用手册、异常处理合集
原文链接,不定时更新「vcpkg」 微软 C++ 团队开发的在 Windows 上运行的 C/C++ 项目包管理工具,可以帮助您在 Windows 平台上获取 C 和 C++ 库vcpkg 自身也是使用 C++ 开发的 (而其他的 C++ 包管理大多并不是 C++ 开发的),并且 vcpkg 能够帮助用户在 Visual Studio 中,更好的使用这些安装好的库vcpkg 整合了 git,构建系统整合的 CMake,而绝大多数的 C++ 项目都可以直接或者间接的方式使用 CMake创建原生项目.原创 2020-08-06 10:24:16 · 3436 阅读 · 0 评论 -
[C++指针] 二维指针的妙用——使用二维指针存元素
最近在看assimp的源码,发现assimp的aiScene存的是aiScene**,而不是aiScene*。思考了以下,发现这是一个不错的做法,分享出来。#include<iostream>using namespace std;//主题:新增元素//方案一:使用一维指针void test1(){ auto _print = [](int *p, int size) { for (int i = 0; i < size; ++i) { cout &l原创 2021-06-28 10:13:20 · 362 阅读 · 0 评论 -
[C/C++] vector与数组(vector的首地址、字节大小、通过vector首地址拿数据)
【代码】#include<iostream>#include<vector>using namespace std;void printAll(int *arr, int n){ for(int i = 0; i < n; i++) { cout << arr[i]; cout << ((i+1) % 10 ? '\t'...原创 2020-04-30 22:14:46 · 5652 阅读 · 3 评论