![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
文章平均质量分 62
「已注销」
这个作者很懒,什么都没留下…
展开
-
strcpy、strncpy与memcpy的区别与使用方法
strcpy、strncpy与memcpy的区别与使用方法strcpy、strncpy、memcpy这三个C语言函数我们在主机代码编写中会很频繁的使用到,但是三个函数的区别、使用时该注意什么还是有必要说下的。本文参考《C 标准库》编写。一、函数说明1、memcpy函数void *memcpy(void *s1, const void *s2, size转载 2014-12-18 15:56:23 · 554 阅读 · 0 评论 -
Avoid Using The “system("pause")” !
Avoid Using The “system("pause")” !About system("pause")I've never understood why system("PAUSE") is so popular. Sure it will pause a program before it exits. This pause is very use转载 2015-10-15 12:20:50 · 349 阅读 · 0 评论 -
STLPort、Loki之内存分配器
STLPort、Loki之内存分配器一个好的内存分配器(allocator),对于服务器的性能是至关重要的,vc版STL、STLPort、Loki、ACE之类的库都带了内存分配器,但是它们的实现方法、效率都有所不同,在别人的代码里也看了不少别人写的内存分配器,自己也写过一个内存分配器,它们或多或少都有一些不满足要求、不够灵活或者效率还可以改善之类的问题,现在在这里对这些内存分配器做一个比较转载 2015-07-05 19:28:39 · 507 阅读 · 0 评论 -
C++匈牙利命名法
匈牙利命名法匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。举例来说,表单的名称为form,那么在匈牙利命名法中可以简写为frm,则当表单变量名称为Switchboard时,变量全称应该为frmSwitchboard。这转载 2015-05-27 22:30:35 · 402 阅读 · 0 评论 -
教你看懂C++类库函数定义之三---_stdcall
一切从一个C++ 类库头文件开始,现在在做一个C++的项目,期间用到一个开源的界面库DUILib(类似MFC),这个东西还不错能很容易的写出漂亮的界面,比如QQ的界面,可以去下载下来研究研究,地址:http://code.google.com/p/duilib/废话不多说,我比较困扰的是UIWebBrowser.h这个头文件,虽然是C++写的,但里面包含太多大学C++课本以外的东西,第一遍转载 2015-05-27 22:31:33 · 439 阅读 · 0 评论 -
教你看懂C++类库函数定义之二---STDMETHOD介绍
一切从一个C++ 类库头文件开始,现在在做一个C++的项目,期间用到一个开源的界面库DUILib(类似MFC),这个东西还不错能很容易的写出漂亮的界面,比如QQ的界面,可以去下载下来研究研究,地址:http://code.google.com/p/duilib/废话不多说,我比较困扰的是UIWebBrowser.h这个头文件,虽然是C++写的,但里面包含太多大学C++课本以外的东西,第一遍转载 2015-05-27 22:29:23 · 410 阅读 · 0 评论 -
教你看懂C++类库函数定义之一---HRESULT 宏
一切从一个C++ 类库头文件开始,现在在做一个C++的项目,期间用到一个开源的界面库DUILib(类似MFC),这个东西还不错能很容易的写出漂亮的界面,比如QQ的界面,可以去下载下来研究研究,地址:http://code.google.com/p/duilib/废话不多说,我比较困扰的是UIWebBrowser.h这个头文件,虽然是C++写的,但里面包含太多大学C++课本以外的东西,第一遍转载 2015-05-27 22:30:18 · 427 阅读 · 0 评论 -
C++ 前置操作符与后置操作符
int a;++a;//前置操作符a++;//后置操作符C语言中,常常使用后置操作符。而C++中建议,只有在必要时才使用后置操作符。因为前置操作需要做的工作更少,只需加1后返回加1的结果即可。而后置操作符则必须先保存操作数原来的值,以便返回未加1之前的值作为操作的结果。对于int型对象和指针,编译器可优化掉这项额外工作。但是对于更多的复杂迭代器类型,这种额外转载 2015-04-17 20:23:48 · 407 阅读 · 0 评论 -
请禁用VS(C++)2013的链接器的COMDAT选项
编译器开发一直是计算机科学中的基础性重点研究领域以至于国内每本计算机导论类的教材都将其归为和OS一级的系统软件,所以经过几十年的发展编译原理有一整套完善详尽的理论。在科学领域追求真理的道路上不存在终点,有的只是一代代开拓者们对精益求精的诠释。编译器对程序的优化有三条基本原则:(1)等价原则。经过优化后不应改变程序运行的结果;(2)有效原则。使优化后所产生的目标代码运行时间较转载 2015-04-16 00:05:31 · 2511 阅读 · 0 评论 -
冒泡,插入,折半插入,希尔,快速,简单选择排序源码总结
#include iostream> using namespace std; //各种排序方法: /**冒泡排序法**/ //它的时间复杂度为O(n^2),虽然不及堆排序、快速排序的O(nlogn,底数为2),但是有两个优点:1.“编程复杂度”很低,很容易写出代码;2.具有稳定性,这里的稳定性是指原序列中相同元素的相对顺序仍然保持到排序后的序列,而堆排序、快速排序均不具有转载 2014-12-24 13:53:40 · 592 阅读 · 0 评论 -
最简洁的C++ split
std::vector<std::string> split(const std::string& s, char delimiter){ std::vector<std::string> tokens; std::string token; std::istringstream tokenStream(s); while (std::getline...原创 2018-07-06 11:40:21 · 13997 阅读 · 0 评论