c++
文章平均质量分 56
qingtianweichong
这个作者很懒,什么都没留下…
展开
-
c语言c++的内存分配
c语言和c++的内存分配,静态分配自然不用说,主要是动态分配机制。 用到的函数主要是malloc,new,realloc,主要是三个。 主要讲的是三种函数的不同的使用方法和效果,先说malloc,是c语言的内存分配函数,需要使用强制转换数据类型,而且需要手动计算分配内存的字节(sizeof函数)空间,new是c++的内存分配自制,可以自动识别数据类型,而且能自动原创 2013-04-22 21:25:06 · 785 阅读 · 0 评论 -
STL之hash_map详解
0 为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改:岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典...这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信息,最傻转载 2013-09-20 17:36:50 · 2392 阅读 · 0 评论 -
字符串基本处理函数
随手写了两个字符串基本处理函数,记录下,方便以后不用写采用的c++ string的库函数一个是去掉前后某个字符的函数,第二个是将字符串按照某个字符分成数组std::string Trim(std::string str, char ch){ string::size_type bPos = str.find_first_not_of(ch); string::size_type eP原创 2015-09-06 09:47:19 · 591 阅读 · 0 评论 -
window获取系统默认浏览器并打开相应的网址
方法:通过读取注册表找到对应的浏览器,然后调用系统方法打开对应的网址原创 2015-09-07 20:20:53 · 3436 阅读 · 0 评论 -
windows检测任务栏是否使用小图标
window 任务栏位置和大小图标属性原创 2015-10-15 16:53:13 · 1059 阅读 · 0 评论 -
c++ 11 10个基本新特新
本文完整转自:http://my.oschina.net/xlplbo/blog/343242auto 在C++11之前,auto关键字用来指定存储期。在新标准中,它的功能变为类型推断。auto现在成了一个类型的占位符,通知编译器去根据初始化代码推断所声明变量的真实类型。各种作用域内声明变量都可以用到它。例如,名空间中,程序块中,或是for循环的初始化语句中。转载 2015-12-06 23:32:27 · 666 阅读 · 0 评论 -
对com接口的访问
com组件基本知识原创 2015-12-15 00:40:11 · 1080 阅读 · 0 评论 -
string 内存陷阱
http://www.cnblogs.com/lanxuezaipiao/p/3704578.html#include #include #include using namespace std; struct flowRecord { string app_name;转载 2016-08-16 17:59:59 · 1796 阅读 · 0 评论 -
String类基本实现
在类中如果有一个成员函数为指针就别特要注意复制控制和内存管理的问题了,借用String类模拟这些情况,里面需要注意的问题很多,在写下面这个程序时,很多细节的地方我是花了很长时间慢慢看的。写出来方便以后每次查看时能够注意这些小问题,有几个基本的原则:1 在使用指针前,一定要确定该指针能够使用,即指针的指向或者指针后面的内存分配(初始化) 2 每次分配了内存就一定要释放掉内存原创 2013-08-28 20:59:01 · 667 阅读 · 0 评论 -
c++学习之优先队列(priority_queue)
优先队列的思想是比较简单的,就是在队列的基础上按照某一特定元素进出队列,计算机中作业的优先调度,就是按照作业的权值优先,先出队列。在STL容器中,优先队列的实现是使用的heap,也就是堆,用一个二叉堆维护一个优先队列,具体的堆的使用方法不做介绍,主要是了解priority_queue的基本使用方法及一点需要注意的地方。基本使用方法和其他的容器一样,需要将模版具象化,也就是指明类型,然后通过接口调用原创 2013-08-17 11:58:39 · 1475 阅读 · 0 评论 -
c++学习之函数对象
c++的函数对象,以前接触得比较少,今天重新看了下,感觉这真的是个很使用的技术,相当的好用。先介绍下什么是函数对象,简单的说就是函数操作符“()”的重载,通过重载函数操作符在类中实现函数的功能,并通过生成类的对象,调用操作符,实现效果就和执行函数一样。有时候函数对象使用起来比函数更加的灵活,而且函数对象能很好的兼容c++的标准库算法,下面一段代码做一个简单的演示:#include #in原创 2013-08-09 09:41:26 · 589 阅读 · 0 评论 -
c++类的内存分配方式
面试时有一些经常会问到的问题,其中对于内存字节的分配方式是一个经常被问到和考到的一种题目,前几天同学出去参加面试时就被问到,当时考官的提问是一个空类占几个字节,他回来跟我们说到,我无语的笑了笑,因为真心是不知道,我第一直觉是不占内存,只有实际分配了对象才占内存,但是好像错了。所以就上机测试了一下,发现内存的分配还是很有玄机的,下面就几种情况一一说明。一般分为一下几种情况,我基本上都测试过,而且总结原创 2013-04-26 13:32:34 · 1163 阅读 · 0 评论 -
c++生僻语法
最近经常看书,还是觉得一定的理论加上足够的实践才是学习最好的方法,自己觉得学c++有一段时间了,但是对于c++里面有些东西还是从来没有见过,为了方便以后的查看,就记一下一些生僻的语法 1 c++中dynamic_cast,dynamic_cast运算符可以在执行期间决定正真的类型,如果downcast(向下转换),如果downcast是安全的(base type poi原创 2013-05-14 20:52:56 · 896 阅读 · 0 评论 -
socket编程——获取本机适配器信息
遇上一点点的小麻烦,在包含 Iphlpapi.lib和include "Iphlpapi.h"可能会提示找不到头文件,要先在电脑里面找到windows的SDK,然后添加到include目录下,vc 6.0的一般在工具—>选项 -> 目录里面添加即可。添加好之后如果出现其他的一些情况,可能就是SDK与IDE版本的问题,一般来说微软的IDE是向下兼容的,所以换个高级的IDE,如vc 6不行就换vc 8原创 2013-05-21 18:10:07 · 787 阅读 · 0 评论 -
template学习之利用标准函数库写栈
#include #include #include #include /* 利用已经完成的Vertor标准库生成自定义的栈结构 而且还用到模版,笔试过程中绝对是一个亮点*/template class Stack{private: std::vector elem;public: void push(T const &); void pop(); T top(原创 2013-07-11 18:14:03 · 698 阅读 · 0 评论 -
template学习之typename关键字
关键字 typenametemplate class MyClass{typename T::SubType * ptr;};在这里第二个typename关键字的意思是:SubType是class T内部定义的一个型别从而ptr是一个指向T::SubType型别的指针;如果上例没有使用关键字typename,SubType会被认为是class T原创 2013-07-13 16:09:56 · 785 阅读 · 0 评论 -
template学习之零值初始化及字符串常量作(function template argument)函数模版参数问题
本篇只是摘抄自《c++ template》小问题比较少注意,而且也容易忘记1 零值初始化对于基本的数据类型int,double,pointer type来说,一般没有default构造式对其初始化,比如下面的代码void foo(){ int x; //x的值不定 int *ptr; //ptr的指向也不定}如果在template中使用这样的代码,如下temp原创 2013-07-26 20:59:28 · 1140 阅读 · 0 评论 -
c++学习之容器——erase()函数
先介绍erase()函数的用法,erase()函数用于在顺序型容器中删除容器的一个元素,有两种函数原型,c.erase(p),c.erase(b,e);第一个删除迭代器p所指向的元素,第二个删除迭代器b,e所标记的范围内的元素,c为容器对象,返回值都是一个迭代器,该迭代器指向被删除元素后面的元素(这个是重点),具体的详细用法请参考其他资料。这里就有一个问题,比如《c++ primer》习题9.原创 2013-07-27 19:34:41 · 42783 阅读 · 10 评论 -
回调函数基本理解
c++ 回调函数机制理解原创 2016-11-05 20:43:26 · 1500 阅读 · 0 评论