
c++
thesby
这个作者很懒,什么都没留下…
展开
-
C++标准库之Unities-笔记2
1、pairs pair是C++里面很好用的,在Qt里经常使用(虽然也有Qt自带的)。 pair其实很简单,就是将两个元素做成一对,这对于存储两个有关联的数据,是很有意义的。存储的元素类型可以是C++允许的任何类型。#include <iostream>using std::cout;using std::endl;int main(){ typedef std::pair<i翻译 2015-06-16 21:05:09 · 660 阅读 · 0 评论 -
c++常用字符串处理
//分割字符串,以delim为分隔符。//s: string,输入的字符串//delim: string,分隔符,注意:这个字符串中的每个字符都会被当做分隔符。//ret,vector,用来存储返回的所有被分割的字符串//注意:当字符串为空时,也会返回一个空字符串void split(std::string& s, std::string& delim, std::vector< std:原创 2016-09-11 22:16:58 · 513 阅读 · 0 评论 -
C++的多态
C++的多态一直是初级程序员的痛,因为总感觉找不到里面的套路。一般讲到的多态往往和虚函数有关,但有的书籍讲到模板和重载也算多态,只不过是静态多态,即在编译器就确定了函数的调用形式。我们这里遵从大多数认为的,也就是前者的动态多态,只有在运行期间才能确定函数的调用。什么是多态面向对象编程有三个重要的特点:封装、继承、多态。 下面借用http://blog.youkuaiyun.com/ruyue_ruyue/原创 2016-06-15 20:47:02 · 834 阅读 · 0 评论 -
CUDA资源汇总
1、视频教程 中科大 周斌 老师的视频课,讲述比较细致。 http://www.iqiyi.com/a_19rrhbvoe9.htmlCUDA开发者系列培训 http://v.youku.com/v_show/id_XMTI4NTM1Mzc0OA==.html?f=25920932原创 2016-06-08 12:39:39 · 1622 阅读 · 0 评论 -
小熊分苹果问题
问题:有N个小熊,有一堆苹果。第一个小熊先扔掉一个苹果后,恰好能分成N份,它取走一份;第二个小熊扔掉剩余苹果中的一个后,恰好能将剩余的分成N份,它取走其中一份。如此进行到最后一个小熊,它也扔掉剩余苹果中的一个后,恰好能将剩余的分成N份,它取走其中一份(至少为1个)。问最初至少有多少个苹果。#include <iostream>#include <math.h>#include <time.h>i原创 2015-09-19 09:58:36 · 2255 阅读 · 0 评论 -
.exe 已触发了一个断点。
这是我第一次碰到这种问题,查了很多资料,大家都说是内存越界导致的,但是我写的这个程序已经大概5000行了,在哪个地方越界的?这个很难找。于是我把整个程序中所有存在new的地方全部查看一遍,确实找到了一些越界的地方。可是修改后仍然这样。更奇怪的是,这个错误并不是一定会在某个地方出现,而是出现的位置带有一定的随机性,但都是在申请内存的时候。无奈,用VS2013的反汇编跟踪到出问题的地方,是一句 jmp原创 2015-08-07 17:46:37 · 48858 阅读 · 1 评论 -
我们来谈谈C++里面的字符串
1、char * 与 char [] 的区别 对于很多人来说, char * 与 char [] 好像没什么区别,我以前也这么觉得,不都是char的指针吗?仔细翻阅资料后,发现区别可大了。现在就来看看吧。#include <iostream>#include <string>using namespace std;int main(){ char * c1 = "Hello c1";原创 2015-06-06 21:11:11 · 497 阅读 · 0 评论 -
C++标准库学习笔记-5-(Container)
STL为了满足不同需求而创造了一些列通用的容器 **一、Containers** 1、Vector 使用vector需要添加头文件< vector>,vector也包含在std namespace. vector的所有函数可以在这里查到。 这里在啰嗦下常用的几个函数。 begin()、end()、front()、back():前两个用于获取第一个和最后一个迭代器的,后两个是用翻译 2015-06-19 21:35:02 · 2477 阅读 · 0 评论 -
C++标准库学习笔记(Shared Pointer)-3
声明:这个博文所有内容均来自于C++标准库-自学教程与参考手册(第二版)英文版 上册。如果转载,务必附带本声明,并注明出处。 smart pointer就是智能指针,它能够自动计数引用,并在最后一次引用后释放,包含于< memory>头文件。C++标准库-自学教程与参考手册(第二版)英文版Page76指出: Since C, we know that pointers are imp原创 2015-06-16 22:59:28 · 4865 阅读 · 0 评论 -
C++标准库学习笔记(Weak Pointer)-4
要想使用weak_ptr,需要包含头文件< memory>。 在使用shared_ptr的时候如果形成了循环引用的话,被引用的对象会因为计数永远到不了0而造成内存无法释放。weak_ptr恰好可以解决这个问题,可以打破这种循环引用从而使资源自动释放,但是使用的时候也必须小心。 你不能使用符号 * 或者 ->来直接获取一个weak_ptr引用的对象,而是必须创建一个shared_ptr,理由如下:翻译 2015-06-17 22:22:34 · 2676 阅读 · 0 评论 -
C++标准库笔记-1
声明:这个博文所有内容均来自于C++标准库-自学教程与参考手册(第二版)英文版 上册。如果转载,务必附带本声明,请注明出处。1、nullptr与std::nullptr_t C++11允许使用nullptr来替代0或者NULL,用于初始化一个空指针。nullptr是新关键字,可以将指针转换为空而不是任何的整数类型。nullptr类型为std::nullptr_t,在< cstddef>有定义。翻译 2015-06-16 17:02:13 · 630 阅读 · 0 评论 -
利用ctypes给python加速
好久没写博客了,来水一篇,今天写写怎么用ctypes给Python加速。最近在用pyspark,然而Python效率实在太低,只能用C加速了。先说说结果,加速后C运行速度比Python快1000倍,因为我们的程序有特别大的双层循环,还有位操作。用C的时候,我还用了一些memcpy, memset, memcmp等操作,所以加速非常明显。利用C语言给Python加速的方法特别多,可以用ctypes,原创 2017-07-28 21:30:23 · 5685 阅读 · 1 评论