![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 78
Luck-Dream
努力才有希望
展开
-
C++之虚函数表
虚函数表是一个存在指向虚函数的指针数组,每一个带有虚函数的类都有一个虚函数表。虚函数表与虚函数一样是可以继承。这个表的每一个数组的值都是指向虚函数的指针。原创 2024-03-11 18:04:39 · 437 阅读 · 0 评论 -
C++之std::list
概念说明:List是由双链表实现的一个容器,每个节点存储一个元素,支持前后两种移动方向。List的内存随着添加的节点增加而增加。数据在内存上存储是不连续的。原创 2024-02-29 16:48:37 · 1389 阅读 · 0 评论 -
C++之std::vector
resize(size_type count): 更改 vector 的大小,使其包含 count 个元素。的元数据存储在栈区,而实际的元素数组存储在堆区,并且数组的大小是根据需要动态改变的。使用场景:适用于元素结构简单,变化小,并且频繁随机访问但不需要对头部和中间元素进行添加删除操作的场景。//5个元素的数组,且初始化值为1。//在itr的位置插入两个99。//在itr的位置插入元素88。缺点:在头部和中间插入删除元素需要移动内存,效率低;//查找特定的迭代器。原创 2024-02-28 14:08:12 · 903 阅读 · 0 评论 -
C++之std::async
会阻塞当前调用线程,直到异步执行结束并获得结果,如果异步执行已经结束,直接获得结果;cout<<"调用结果:"<<result.get() <<endl;结果验证了不调用get函数是不会执行异步函数的,也就是不会阻塞到调用的线程。cout << "主函数启动线程结束" << endl;cout << "主函数启动线程结束" << endl;cout << "主函数启动线程结束" << endl;cout << "主函数启动线程结束" << endl;函数时,同步调用的函数才真正执行,否则不执行。原创 2024-02-23 14:53:50 · 899 阅读 · 0 评论 -
C++之std::thread线程
/ thFun为线程需要调用的函数,10为thFun函数的参数。,创建新线程的作用域结束后,有可能线程仍然在执行,这时局部变量随着作用域的完成都已销毁,如果线程继续使用局部变量的。std::thread是C++11线程库提供的线程创建。参数绑定的是线程需要调用的函数与参数。使用detach分离调用的时候一定注意参数,因为存在作用域问题,不要使用当前作用域的数据传参。//会阻塞当前代码,等待线程完成退出后,才会继续向下执行;注意:一定在线程销毁前调用线程的调用方式。原创 2024-02-21 13:56:55 · 424 阅读 · 0 评论 -
shiboken封装qt供python使用
上一篇写了封装C++给python使用。这篇是封装qt给python使用,突然不知道怎么描述了,就简单的说一下思路上代码。可参考上一个。同样是分为三部分,封装一个dll库,不管你用什么vs,qt,或者cmake,什么都好,只要生成能用的库就行.这部分注意包含qt所需要的文件夹和库。第二部分也就是根据利用shiboken生成器生成pythonc++文件。具体参数参看自己需求,但是编译不过的话多注...原创 2019-06-26 15:56:19 · 2111 阅读 · 3 评论 -
shiboken绑定C++供python使用
C++类函数封装给python调用,大致分为三个部分,第一部分是把我们的C++类函数等封装成一个dll,即动态库。第二部分是生成一个绑定代码,就是用shiboken2根据我们需要封装暴露的文件,生成pythonC++代码。然后第三部分,就是根据第一和第二部分生成的库和代码,进一步封装成py库。然后python文件直接可以调用该库。具体代码如下,源码用的是python的官方源码。主要讲解每个部分的使...原创 2019-06-26 15:14:39 · 2170 阅读 · 0 评论 -
VS2008重置默认配置
在开始菜单打开:(其他地方打开命令提示一样)Microsoft Visual Studio 2008 --> Visual Studio Tools --> Visual Studio 2008命令提示在窗口中输入:devenv/resetuserdata运行完成后重新打开VS2008就可以重新设置默认环境...原创 2018-04-26 20:22:26 · 1227 阅读 · 0 评论 -
C/C++笔试题
很多公司面试的题目都是一些比较常见和实用的题目,但是往往我们由于面试时间等等原因回答的不够全面和不够满意,所以我们在看面试题的时候要当成知识点来学习,而不是记住用来面试,下面分享总结一下一些常见的面试题目,希望对大家有帮助。一、const的作用定义:const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。内存:C语言存储在堆栈和静态存储区(全局变量),C++可能存在符号表中,...原创 2018-03-29 16:38:32 · 1445 阅读 · 0 评论 -
static详解
定义:static修饰为静态,可以修饰变量,函数。。内存:静态存储区读写属性:可读可写意义:静态,重在静也是禁止,限制的意思,禁止被外部使用,禁止每次都初始化。主要作用:1、修饰全局变量:静态全局变量1)静态全局变量不能被其它文件所用;其它文件中可以定义相同名字的变量,不会发生冲突;2)和全局变量的区别: 全局变量是不显式用static修饰的全局变量,全局变量默认是有外部链接性的,作用域是整个工...原创 2018-03-27 17:44:11 · 327 阅读 · 0 评论 -
const详解
定义:const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。内存:C语言存储在堆栈和静态存储区(全局变量),C++可能存在符号表中,视情况而定。读写属性:只读主要作用:1)可以定义const常量,具有不可变性。2)便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患。3)可以避免意义模糊的数字出现,同样可以很方便地进行参数的调整和修改。 同宏定义一样,可以做到不变则已...原创 2018-03-27 17:41:30 · 444 阅读 · 0 评论 -
C/C++堆栈
在理解堆栈之前,我们先清楚程序的内存分配。一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(原创 2017-08-19 17:48:19 · 492 阅读 · 0 评论 -
C语言模拟学生管理系统链表学习
C语言的链表学习,以前刚学习C语言的时候是写的。里面存在的很多不足,放这里做个记录。能对刚学习的道友有帮助就更好,老道友们欢迎指出错误。#include#includestruct stu{unsigned int xh;unsigned char name[10];unsigned char ywcj;unsigned char sxcj;unsigned原创 2017-07-31 22:07:09 · 926 阅读 · 0 评论 -
C的八大排序法
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,转载 2017-06-14 17:02:47 · 405 阅读 · 0 评论