![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 63
lizhihaoweiwei
这个作者很懒,什么都没留下…
展开
-
cpp 智能指针用作参数问题
#include <cstring>#include <iostream>#include <memory>#include <unordered_set>int g = 9;class A{ public: ~A(){ std::cout << "deconstruct of A " << _num << std::endl; } void setNum(int n){ _num = .原创 2021-02-26 12:24:21 · 778 阅读 · 0 评论 -
关于 dll 与目标工程的管理及若干注意事项
关于 dll 与目标工程的管理及若干注意事项原创 2017-08-01 17:18:04 · 290 阅读 · 0 评论 -
重复字符串的判定问题(kmp 算法)
重复字符串的判定问题(kmp 算法)原创 2017-08-09 12:09:44 · 1216 阅读 · 0 评论 -
重复字符串的判定问题(kmp 算法之优化版本)
重复字符串的判定问题(kmp 算法之优化版本)原创 2017-08-09 12:21:24 · 684 阅读 · 0 评论 -
重复字符串的判定问题(质数检验法)
重复字符串的判定问题(质数检验法)原创 2017-08-09 10:04:29 · 757 阅读 · 0 评论 -
vs 工作技巧
vs 工作技巧原创 2017-07-20 11:43:53 · 217 阅读 · 0 评论 -
ofstream 的一点疑问
ofstream 的一点疑问。原创 2017-07-11 11:52:19 · 232 阅读 · 0 评论 -
SetWaitableTimer 的用法
定时器原创 2017-07-10 15:28:48 · 2847 阅读 · 0 评论 -
size_t 数据类型深思
size_t 类型引必的问题与思考原创 2016-06-27 16:23:56 · 604 阅读 · 0 评论 -
c++ 模板头文件与实现文件分离
c++ 模板头文件与实现文件分离原创 2017-07-26 10:31:44 · 520 阅读 · 0 评论 -
memcpy_s 参数问题
memcpy_s 这个函数极易用错。它的函数申明是这样的:errno_t memcpy_s( void *dest, size_t numberOfElements, const void *src, size_t count );这是由 MS 提供的一个内存拷贝函数。对于各个参数的解释是这样的:destNew buffer.numberOfElementsSize o...原创 2017-07-27 13:17:24 · 26271 阅读 · 0 评论 -
set 中对象元素插入与查找
set 中对象元素插入与查找原创 2017-08-05 13:05:17 · 6234 阅读 · 0 评论 -
函数帧和可变参数和内存对齐
函数帧和可变参数和内存对齐原创 2013-11-08 21:25:13 · 1369 阅读 · 0 评论 -
VS2008 双击变量, 相同变量都高亮显示
VS2008 双击变量, 相同变量都高亮显示原创 2017-11-24 16:50:13 · 5237 阅读 · 1 评论 -
线程变量的设计与实现
有一种较复杂的线程同步模型,当一个或多个线程需要等到某个条件满足,才能继续往后执行。另外的一个或多个线程可以更改那个条件,使其满足并触发。这一线程模型有很多用处,如多生产者-多消费者模型,读写锁等。我们来研究一下它可能的实现方法。原创 2017-09-23 20:36:58 · 516 阅读 · 0 评论 -
WideCharToMultiByte 和 MultiByteToWideChar 之 codePage 参数(二)
MultiByteToWideChar 和 WideCharToMultiByte 之转化问题原创 2017-08-05 17:48:54 · 576 阅读 · 0 评论 -
WideCharToMultiByte 和 MultiByteToWideChar 之 codePage 参数(一)
WideCharToMultiByte 和 MultiByteToWideChar 第一个参数 codePage原创 2017-08-05 16:23:54 · 999 阅读 · 0 评论 -
文本文件与字符编码
Unicode编码原创 2016-02-04 13:16:29 · 548 阅读 · 0 评论 -
为什么创建线程不用 CreateThread,而用 __beginthreadex
为什么创建线程不用 CreateThread,而用 __beginthreadex原创 2014-08-31 19:42:43 · 1357 阅读 · 0 评论 -
无锁编程与内存栅栏
原子指针原创 2016-01-25 19:45:03 · 2140 阅读 · 0 评论 -
指针,数组转换漫谈
先给出几个定义:int a [10] :即是说明 a 是一个连续的内存块,有10个结构,这个结构被看成 int 去解析。int * b = a;即是说明 b 是一个内存块,有 1 个结构,这个结构被看成一个 int* (指向 int 地址)去解析。即告诉编译器,要把 b 里面存放的数值当成一个地址去解析。先说明这两者的不同及相同。前者是一个数组,它是编译器的天生支持数据结构,只要这原创 2014-07-19 12:42:45 · 3559 阅读 · 0 评论 -
指针高级
mark原创 2013-11-15 13:54:34 · 725 阅读 · 0 评论 -
短码长篇连载
本文是本人参加海峡两岸短码比赛积累短码经验的长篇连载,不定期更新。。。原创 2014-01-03 00:30:01 · 603 阅读 · 0 评论 -
《程序设计语言-实践之路》读后杂谈
这个人很懒,此文还末开动,会在《程序员的自我修养》一文完成后开动,如果一个人能同时高度专心做两件事就好了,但如果那样,人就向机器靠拢一步了!原创 2013-12-28 22:48:13 · 701 阅读 · 0 评论 -
C++使用mysql 库访问MYSQL数据库,mysql_init函数破坏内存的问题
在最近的一个项目中用到了MYSQL,前一段时间倒没有发现什么问题,直到今天发现了一个很奇怪的问题。定义了一个数据库访问类:class CMysql{private:MYSQL m_connectSQL;string host;string usr;string password;......BOOL init();}在init()函数原创 2013-01-16 23:11:12 · 1607 阅读 · 1 评论 -
C++继承体系高级话题
这篇文章主要讨论C++继承中的高级话题。主要偏向于编译器的实现角度,也会包含部分应用角度。本文是一个长篇连载,不定期会更新。预期的内容至少包括:1.子类如何能够调用父类的函数2.虚函数,虚表1.子类如何能够调用父类的函数我们知道,类的函数是存储在静态区的,类的每个函数只有一份,每个类的实例都共享这些函数。这里产生了一个问题:如果是存在静态区,就有了“全局”的意思,那原创 2013-11-14 22:12:29 · 1259 阅读 · 0 评论 -
const static extern 存储与进程空间布局
原创博客,转载请说明来源:http://blog.csdn.net/lizhihaoweiwei/article/details/14548585本文打算从C程序文件,进程空间着手,重点描述不同的声明,定义方式对应的内存布局方式。首先说明一下UNIX系统下一个C程序的执行流程。内核启动C程序时(可以使用 exec系列函数),在调用main之前,先启动一个特殊的启动例程。这一行为是在源程序的编译链接...原创 2013-11-09 00:40:37 · 974 阅读 · 0 评论 -
C 与指针摘记
本篇文章是读《C与指针》一书的笔记,原创博客,转载请说明来源:http://blog.csdn.net/lizhihaoweiwei/article/details/143899351.说明符的定义:包含一些关键字,用于描述被声明的标识符的基本类型。说明符也可以用于改变标识符的缺省存储类型和作用域。如:short , long ,singed, unsinged。声明一个int类型的变量时,如果已...原创 2013-11-06 21:18:16 · 915 阅读 · 0 评论 -
C/C++ 预处理之 define
define 是 C/C++ 中的一条预处理指令,# 用在一行的开始表示一个预处理指令的开始#define原创 2014-07-14 22:12:25 · 586 阅读 · 0 评论 -
while 里面 i-- 容易犯的错误
int i = 8;while(i -- ){}退出循环时,i 等于 -1,这是因为最后一次不满足 while 条件时,原创 2014-08-06 00:34:25 · 882 阅读 · 0 评论 -
内存泄露调试
当发生内存泄露没有头绪时,可以使用编译器自带的原创 2014-08-06 00:50:59 · 622 阅读 · 0 评论 -
cpu 乱序执行与问题
“CPU执行乱序”是一个常见的话题,鉴于自己一直对这个概念存在些许理解的差池,故今日写一篇文章留作备忘。注,这里仅仅讨论CPU执行乱序,不涉及编译器的乱序。1.CPU 为什么会乱序?本质原因是CPU为了效率,将长费时的操作“异步”执行,排在后面的指令不等前面的指令执行完毕就开始执行后面的指令。而且允许排在前面的长费时指令后于排在后面的指令执行完。如在 CPU0 上执行下面两句话:a原创 2016-01-25 16:42:51 · 9339 阅读 · 4 评论 -
c++ 几种内存约束
[参考] c++并发内存模型学习[参考]c++内存模型和原子操作memory_order_relaxed:最松散,或者说,不执行顺序一致性。该内存操作保证是原子操作,但可以在编译时优化或在运行时被cpu执行任意优化。而且在多核心平台上,relax操作产生的结果可能不会被立即同步到其他核心(没有synchronizes with属性),其他核心不会立即看见这个操作。relax的原子操转载 2016-01-22 18:29:03 · 1523 阅读 · 0 评论 -
内存对齐
1.深入内存对齐为什么需要内存对齐呢?我们定义一个变量后,就会为该变量在某内存地址处分配一个空间。举例如下:struct A{int d;char c;long l;}A a={0};//定义一个变量a.设a 的地址为0,则a.d地址为0,a.c为4,a.l为5。如果空间真的是这样分配的话,会造成一个问题,在X86体系机器上,CPU的一次访存是直接取出3原创 2014-09-02 15:36:57 · 787 阅读 · 0 评论 -
当没有编写时,编译器一定会生成拷贝构造函数,赋值函数 吗?
---末完待续原创 2014-09-02 15:37:29 · 1278 阅读 · 0 评论 -
socket 编程之网络地址
在用 C/C++ 编写 socket 程序时,总是会原创 2014-09-01 22:47:24 · 569 阅读 · 0 评论 -
全局符号介入如何处理
有多个动态链接库都定义并使用同名函数(但存在不mg)原创 2014-08-28 19:30:55 · 1030 阅读 · 0 评论 -
C++ 全局/静态对象初始化
main 函数并不是程序最开始运行的代码,原创 2014-08-28 19:34:04 · 710 阅读 · 0 评论 -
二维数组指针
已知 inta[3][4];则下列能表示a[1][2]元素值的是()A、*(*(a+1)+2) B、*(a+1+2) C、(&a[0]+1)[2] D、*(a[0]+1)原创 2014-09-08 11:33:48 · 521 阅读 · 0 评论 -
补码的实质
大部分教科书上给的补码的定义都比较弱,只说明了补码的作用可以将减法运算改为加法运算,但书上并没有将这个问题论述清楚,本文旨在分析补码的实质,并将这个问题解释清楚。补码,意思是某一个数字的补码,之所以叫“补码”,那么,它一定是相对于某个数字来补的,那么,它是相对于哪个数来补的呢,答案是相对于计算空间里最大的那个数加1来补的。1).时钟模型我们将这个概念应用于钟表上面。设现在有一个钟表,只原创 2013-11-10 00:36:03 · 1198 阅读 · 0 评论