- 博客(13)
- 收藏
- 关注
原创 C++赋值操作符无重载情况下可能调用构造函数实现赋值的默认行为
发现C++里面有些东西竟然以前完全没有注意过,或者是忘得一干二净......习艺不精C++中的类如果有定义带某一类型参数的构造函数,那么C++允许你使用“对象 = 参数(构造函数参数同类型)”的形式进行赋值!只要有合适的构造函数,赋值操作符会调用构造函数将右边构造为类的对象,然后调用合成的拷贝赋值运算符将其赋值给左边:#include using namespace std;
2016-11-10 19:29:12
521
原创 测试同一个动态链接库重复dlopen是否会更新
主函数文件main_dl.c:#include #include #include #include int main(){ void (*func)(); void *handle = NULL; char *myso = "./mylib.so"; while(1) { sleep(1); if((hand
2016-10-18 18:55:46
6403
1
原创 正则表达式总结
一、标准部分(BRE):(1)锚字符: ^ —— 行首 $ —— 行尾(2)替代符: * —— 星号,匹配0或多个字符 . —— 点号,匹配任意1个字符(不匹配换行符) [] —— 匹配指定域的单个字符,[abc](多个字符中的一个) [a-c](指定字符集区间中的一个) [^abc](非指定字符中的一个),必须匹配 特殊字符
2014-12-07 00:34:50
442
原创 1091. Acute Stroke
本题的前4个case容易过,最后两个case有些难度。如果单纯递归,递归层次会很高从而导致栈溢出,若手动模拟栈实现,又会超出内存限额,于是考虑每次只遍历可连接的节点的个数不超过临界值t。如果节点块连接值达到t,则对这些有效节点进行标记,否则看它们有没有有效的邻节点,若有的话也认为其为有效节点,否则认为其无效。可AC代码如下:#include #include using names
2014-11-29 23:36:12
561
原创 1087. All Roads Lead to Rome
#include #include #include #include #include #include using namespace std;#define INF 0x7fffffff//BFS找到总计路数int bfsnm(vector> &preCityCostMinVec, int start, int end){ queue que; que.pu
2014-11-14 02:01:00
612
原创 二叉树非递归后序遍历
void postorder(tree *root){/*(0)未访问左/右子树;(1)已经访问过左子树; (2)已经访问过右子树*/int flag = 0;stack stackState;stack stackNode;stackState.push(0);stackNode.push(root);while(stackNode.size(
2014-10-11 12:21:59
358
原创 extern “C”
extern“C”是C++拥有的用于C和C++混合编程的工具,它是一种“链接指示”。 以下是《C++ Primer 4th》里面的解释: “C++有时需要调用其他程序设计语言编写的函数,最常见的一种语言是C语言。像任何名字一样,必须声明用其他语言编写的函数的名字,该声明必须制定返回类型和形参表。编译器按处理普通C++函数一样的方式
2014-06-08 16:24:53
448
原创 PAT 1018
原题链接http://pat.zju.edu.cn/contests/pat-a-practise/1018本题实现注意菱形路径情况的处理#include#include#include#includeusing namespace std;const int MAX=501;#define INF 0x7f7f7f7fstruct linkinfo{ vector
2014-03-08 12:32:49
549
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人