
C++
木盏
坐标 北京
喜欢写博客的CV工程师
levio@pku.edu.cn
展开
-
C++中vector<int>& nums和vector<int> nums的区别
先看一段代码:vector<vector<int>> allrot(const vector<int>& a){ vector<vector<int>> result; for (int i = 0; i < a.size(); i ++ ){ rotate(a.begin(), a.begin() + 1, a.end()); result.push_back(a); } re原创 2021-10-29 00:26:53 · 13081 阅读 · 6 评论 -
C++扩展Python模块
Python中有些重复简单的计算可以丢给cpp做,从而实现加速。之前写过一个python调用c++模块的文章《python调用c++》,通过引用动态链接库来完成调用。今天介绍用Extension来扩展Python的方法。实验环境:ubuntu18.04python3.8.8setuptools这里需要额外安装一个setuptools。编写要调用的c++文件,命名为add.cpp:include<Python.h>#include<iostream>using nam原创 2021-07-26 17:20:32 · 1005 阅读 · 0 评论 -
C++中vector的简单用法
#include <iostream>#include <vector>1. 基本操作1. 初始化vectorvector<int> vec(10, 1); // 拥有10个初始值为1的元素2. 获取vector长度int vsize = vec.size()3. 尾部插入元素vec.push_back(2);4.输出尾部1个元素vec.pop_back();5. 判断vector是否为空vec.empty().原创 2021-04-12 20:51:21 · 308 阅读 · 0 评论 -
ubuntu下编译opencv
1. 下载opencv gitgit clone https://github.com/opencv/opencv.git2. 进入opencv/ 并新建build/文件夹,再进入build/cd opencvmkdir buildcd build第1步和第2步是宇宙通用步骤,第3步将可由用户喜好制定cmake3. 在build文件夹下cmakecmake -D...原创 2019-08-01 17:57:52 · 653 阅读 · 4 评论 -
【简单实例】如何使用C++加速python程序
C++党最鄙视Python的两个原因:1,计算速度太慢;2,动态语言特性。对于第2个原因,这需要python程序员好好规范自己的编写习惯,加深对语言和系统的理解。其实作为动态语言的python依旧可以作为超大工程的编程语言的。好了,闲话不多扯。本文主要针对原因1进行“补救”,做了一个C++加速python模块的实验,想测试如果python的部分函数被C++改写,会对整个python系统提升多少...原创 2019-07-31 15:11:17 · 1870 阅读 · 0 评论 -
python调用C++中的函数【最简明教程】
python被称为胶水语言,其优势是能够粘结各种不同的语言。同时,python有着更大的“亲民性”,很容易进行开发。但是,python最大的问题就是计算速度不够。通常可以用CUDA或者C++对一个python程序进行加速,加速策略如下:1. 大规模算术运算、矩阵运算等过程用底层语言编写,python只负责传参和处理结果数据;2. 十分常用的函数,我们可以用C++写成“算子”,然后pytho...原创 2018-11-07 15:22:27 · 18882 阅读 · 9 评论 -
C++中的虚函数
之前被某公司面试官问过一次虚函数是什么。至今印象深刻,因为当时并没有回答上来。于是趁今天有空,把虚函数翻了翻,发个blog总结一下。虚函数的作用虚函数的作用是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。 ——引自经典教材谭老师的红皮书那么,虚函数就是解决类的继承过程中同名函数的处理问题。...原创 2018-10-10 23:36:17 · 776 阅读 · 0 评论 -
C++中的template
今天面一家独角兽公司的时候,被面试官问到这个问题。所幸之前的C++基础还记得一些,基本回答上来了。于是写一个blog来强化一下。函数模板函数模板实际上,解决了一个函数多态性过程中所遇到的问题。实际上主要解决的就是形参类型不一的问题。因为C++是一种静态语言,不像Python那样数据类型等运行起来了再确定,我们用函数或者用变量都必须确定类型。函数需要确定返回值类型,这就使得函数在使用起来...原创 2018-10-19 23:34:23 · 1845 阅读 · 4 评论 -
C++中的纯虚函数、抽象类、接口
要了解纯虚函数,先要知道虚函数是什么:https://blog.youkuaiyun.com/leviopku/article/details/83004563纯虚函数就是没有函数体的虚函数,通常都以下列格式定义纯虚函数:class <类名>{ virtual <类型><函数名>(形参表) = 0; ...}在虚函数后面加"=0",这并不代...原创 2018-10-15 19:25:48 · 547 阅读 · 0 评论 -
两种方法对浮点数开根号(二分法和牛顿法,含证明)
二分法和牛顿法求根号是面试中的经典题,如果没提前接触过,经典题将成为经典难题。我先上代码,后面再对代码进行解释:#include<iostream>#include<string>#define PRECISION 0.0002using namespace std;//二分法//二分法通过缩小根值范围的方法来逼近结果float sqrt1(float ...原创 2018-09-22 13:33:51 · 7389 阅读 · 2 评论 -
C++ iterator(迭代器)用法
C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、集合、链表、队列、栈等。#include <vector>#include <iostream>using namespace std; int main() { vector<int> iv...原创 2018-09-21 17:08:56 · 14988 阅读 · 0 评论