![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++
魍川
这个作者很懒,什么都没留下…
展开
-
c++构造和析构能不能抛异常的问题!
总结: 1、析构函数中不允许抛异常。 2、构造函数中可以抛异常(但不建议)。构造函数中尽量不要抛异常或调用可能会抛异常的代码,如果必须要抛异常,要考虑处理内存泄漏。 之所以不建议抛异常是因为考虑到内存泄漏,因为构造函数抛异常会导致析构不能被调用;假如,设计者的设计思路是构造申请动态内存,析构释放动态内存。当构造函数中成功申请了内存,但在申请内存的下一段代码抛异常,这时析构不被调用也就不能释放原创 2016-07-15 16:45:24 · 440 阅读 · 0 评论 -
关于程序出现cpu占用过高的问题排查、解决办法以及避免代码中出现cpu占用率过高
程序中出现cpu暂用率过高,一般是跳入死循环导致,当出现cpu暂用率过高,请先检查代码中循环(for、while)是否死循环,如果是线程中开的while循环干一件事,请检查while中是否调用sleep睡眠,如果没有睡眠一定会造成cpu占用率过高,因为不调用sleep,cpu不会切出去;所有线程中的while,请记得加sleep,这样可以避免cpu占用率过高的现象。 注:sleep(0)表示切出原创 2016-09-20 10:58:35 · 5747 阅读 · 1 评论 -
vector 排序
#include #include #include //先自定义一个结构体 struct Test { int alarmID; }; //自定义排序函数 bool SortByAlarmIDAsc( const Test &v1, const Test &v2)//注意:本函数的参数的类型一定要与vector原创 2016-11-16 10:59:42 · 248 阅读 · 0 评论 -
gsoap编译(仅供自己参考)
B接口gsoap编译 FSU客户端 ../../wsdl2h -o SCService.h SCService.wsdl (ok) ../../soapcpp2 -1 -C -x -L -i SCService.h (ok) FSU作为服务端: ../../wsdl2h -o FSUService.h FSUService.wsdl(ok) ../../soapcpp2 -1原创 2017-06-20 09:11:08 · 511 阅读 · 0 评论 -
c++ 为什么析构函数必须声明为虚函数
析构函数设为虚函数的作用: 解释:在类的继承中,如果基类不定义成虚函数,当有基类指针指向派生类, 那么delete基类指针时,只会调用基类的析构函数,不会调用派生类中派生类的析构函数。 如:class Base { public: Base(){cout<<"Base"<<endl;} /*virtual*/ ~Base(){cout<<"~Base"<<endl;} };原创 2017-06-12 11:40:21 · 636 阅读 · 0 评论 -
map 排序
#include #include #include #include #include #include using namespace std; int cmp(const pair &x,const pair &y) { return x.second < y.second; } void sortMapbyValue(map &t_map,vector > &t_vec) {原创 2017-05-18 10:00:15 · 263 阅读 · 0 评论