c++
shenhua969
这个作者很懒,什么都没留下…
展开
-
GDB调试
gdb基本命令列表: 实例: 1 新建一个源文件vi swap.cc 源文件内容如下: #include<iostream> using namespace std; void swap(int &a,int &b) { ...转载 2020-01-15 08:46:16 · 190 阅读 · 0 评论 -
c++ 11特性理解
禁止虚函数被重写 class AFinal { public: virtual void F1() final{} }; class BFinal:public AFinal { public: virtual void F1(){} }; error: C3248: “AFinal::F1”: 声明为“final”的函数无法被“BFinal::F1...原创 2019-11-06 16:21:29 · 136 阅读 · 0 评论 -
Oracle occi 批量插入数据
在用OCCI 向Oracle中插入数据时,效率不高,使用自动提交数据的情况(默认)下一秒钟只能插入1000条数据左右。因为插入数据库这块是影响系统中效率最明显的地方,因此很有必要提高数据插入这块的效率。在网上找了一些资料后发现,可以重用statement对象,使用批量插入的方法,先把数据保存在内存中,积累到一定数值之后批量插入Oracle,这样平均下来一秒钟可以插入5000多条数据,性能有所提高,...转载 2019-08-14 16:46:37 · 555 阅读 · 0 评论 -
Windows Socket五种I/O模型笔记
Winsock 的I/O操作: 1、 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序。套接字 默认为阻塞模式。可以通过多线程技术进行处理。 非阻塞模式:执行I/O操作时,Winsock函数会返回并交出控制权。这种模式使用 起来比较复杂,因为函数在没有运行完成就进行返回,会不断地返回 WSAEWOULDBLOCK错误。但功能强大。 为了解决这个问题,提出了进行...转载 2018-11-08 09:41:44 · 256 阅读 · 0 评论 -
DLL编程实现
一、前言 自从微软推出16位的Windows操作系统起,此后每种版本的Windows操作系统都非常依赖于动态链接库(DLL)中的函数和数据,实际上Windows操作系统中几乎所有的内容都由DLL以一种或另外一种形式代表着,例如显示的字体和图标存储在GDI DLL中、显示Windows桌面和处理用户的输入所需要的代码被存储在一个User DLL中、Windows编程所需要的大量的API函数也被...转载 2014-05-04 15:30:33 · 274 阅读 · 0 评论 -
c++ 面试一
1、 下面的程序是否有错误,如果有错,请说明原因。 char* const pszHelp = “hello”; pszHelp[0] = ‘a’; 因为 pszHelp 指向一个常量字符串,所以根本不允许修改字符串内容。除 非使用一个字符数组。 //armbbs注解:这个题目的答案错了,此处是正确的 2、 const 用法: const char* p p 是一字...转载 2014-05-04 15:18:26 · 651 阅读 · 0 评论 -
STL学习小结
STL就是Standard Template Library,标准模板库。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list, vector,set,map等,STL也是算法和其它一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。是C++标准库的一个重要组成部分,它由Stepanov and Lee等人最先开...转载 2013-12-31 11:14:44 · 454 阅读 · 0 评论 -
CMarkUp介绍
最近准备写一些xml解析的小程序,开始使用了tinyxml,不过tinyxml不支持Unicode,比较麻烦,后来又使用了CMarkup,找到CMarkup的一些文档,随口阅读的过程翻译之,记如下(P.S. 真正NB的程序员是不是应该自己写个XML的解析?o(∩_∩)o )。 ——magictong 2011.07.26 夜 下面是CMarkup的类成员函数列表。这...转载 2013-12-31 11:16:08 · 510 阅读 · 0 评论 -
openMP的一点使用经验
最近在看多核编程。简单来说,由于现在电脑CPU一般都有两个核,4核与8核的CPU也逐渐走入了寻常百姓家,传统的单线程编程方式难以发挥多核CPU的强大功能,于是多核编程应运而生。按照我的理解,多核编程可以认为是对多线程编程做了一定程度的抽象,提供一些简单的API,使得用户不必花费太多精力来了解多线程的底层知识,从而提高编程效率。这两天关注的多核编程的工具包括openMP和TBB。按照目前网上的讨论,...转载 2014-01-10 09:18:42 · 344 阅读 · 0 评论 -
基类,派生类,内存分配情况
派生类继承基类 内存分配时,是在于基类对象不同的内存地址处,按基类的成员变量类型,开辟一个同样的类型空间,但注意开辟后派生对象的空间,不是复制基类的成员的值,而是仅仅开辟那种成员类型的空间,未初始化时,里面存在的数是不确定的 然后派生类自己定义的成员变量是排在继承的A类成员下面,如果派生类定义的变量名与基类相同,则此变量覆盖掉继承的基类同名变量,注意,覆盖不是删除,也 就...转载 2014-05-04 15:24:46 · 753 阅读 · 0 评论 -
CTreeCtrl 控件使用总结
一 基础操作 1 插入节点 1)插入根节点 [cpp] view plaincopy //插入根节点 HTREEITEM hRoot; CString str=L"ROOT" hRoot=nTreeCtrl.InsertItem(str); //相当于 hRoot=nTreeCtrl.InsertItem(str,TVI_ROOT,TVI...转载 2014-05-04 15:31:18 · 785 阅读 · 0 评论 -
STL中基本容器区别
在STL中基本容器有: string、vector、list、deque、set、mapset 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少map:映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使用它好了string、vector、list、deque、set 是有序容器 1.string st...转载 2014-05-04 15:17:58 · 373 阅读 · 0 评论 -
DLL(动态链接库)专题
0. Windows API中所有的函数都包含在dll中,其中有3个最重要的DLL。 (1) Kernel32.dll 它包含那些用于管理内存、进程和线程的函数,例如CreateThread函数; (2) User32.dll 它包含那些用于执行用户界面任务(如窗口的创建和消息的传送)的函数,例如CreateWindow...转载 2014-05-04 15:28:47 · 394 阅读 · 0 评论 -
STL线程安全
想要使用STL时是线程安全的,需要自己处理而不是依赖STL的实现。可以手工做同步控制,如下面: vector<int> v; ... getMutexFor(v); vector<int>::iterator first5(find(v.begin(),v.end(),5)); if(first5!=v.end()) { *first5=0; } rele...转载 2014-05-04 15:15:57 · 472 阅读 · 0 评论 -
socket基础知识
一 SOCKET相关结构 1 WSADATA 用于初始化WINSOCK [cpp] view plaincopy WSADATA WSaData; int err; err = WSAStartup(0x0202, &WSaData); if (err == SOCKET_ERROR) { AfxMessageBox(...转载 2014-05-04 15:33:26 · 374 阅读 · 0 评论 -
socket步骤
The following is a step-by-step guide to getting started with Windows Sockets programming. It is designed to provide an understanding of basic Winsock functions and data structures, and how they ...转载 2014-05-04 15:41:02 · 527 阅读 · 0 评论 -
C++:STL标准入门汇总
第一部分:(参考百度百科) 一、STL简介 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来 的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。 STL的代码从广义上讲...转载 2013-12-31 11:08:56 · 461 阅读 · 0 评论 -
通过类String看拷贝构造函数,赋值函数的作用和区别
/*如果不主动编写拷贝构造函数和赋值函数,编译器将以“位拷贝”的方式生成自动缺省函数.如果类中含有指针变量,这个缺省函数会带来错误.以类String的两个对象a,b为例,a.m_str内容是"hello",b.m_str的内容为"world".将a赋给b,缺省赋值函数的位拷贝意味着b.m_str=a.m_str,这样会发生如下3个错误:1. b.m_str的原有内存没有释放,造成内存泄露;2. b...转载 2014-05-04 17:03:25 · 373 阅读 · 0 评论 -
map
map 是一种关联容器, 提供一对一的关联, 关联的形式为: KEY----VALUE 关键字不重复。multimap与map类似,但是允许关键字重复 即:关键字和与之对应的值 关键字起到索引的作用, 在map中查找记录 就是根据关键字查找 关键字 和 值 可以是任意类型 ...转载 2014-05-04 17:32:08 · 403 阅读 · 1 评论