- 博客(68)
- 资源 (1)
- 收藏
- 关注
原创 vmware上,虚机经常丢失网卡。导致无法上网。
VMware NAT service和VMware DHCP service。1、win+R 输入。2、重启这两个服务。
2024-08-01 18:33:10
433
原创 string copy on write
#include<iostream>#include<string>#include<cstdio>using namespace std; main(){ string str1 = "hello world"; string str2 = str1; string str3 = str2; ...
2018-09-18 20:17:44
158
原创 获取本地IP
inline uint32_t getLocalIP(){ int sock_fd; struct ifreq buf[16]; struct ifconf ifc; uint32_t interface_num; uint32_t loIp = inet_addr("127.0.0.1"); uint32_t localIp = 0; if((sock_fd = ...
2018-08-24 10:05:15
188
原创 获取系统毫秒时间的两种方法
unsigned long clockGetTimeHaoMiao2(){ struct timespec stv; clock_gettime(CLOCK_MONOTONIC, &stv); unsigned longt haoMiao = stv.tv_sec * 1000 + stv.tv_nsec /1000000; return haoMiao...
2018-08-17 15:23:56
2757
原创 获取本地ip地址信息
#include<stdio.h>#include <sys/ioctl.h>#include<netinet/in.h>#include<net/if.h>#include <arpa/inet.h>#include <sys/socket.h>#include <unistd.h>#includ
2018-08-17 15:18:04
164
原创 获取毫秒时间戳
unsigned long clockGetTimeHaoMiao(){ struct timespec stv; clock_gettime(CLOCK_MONOTONIC, &stv); unsigned long haoMiao = stv.tv_sec * 1000 + stv.tv_nsec /1000000; return haoMiao;...
2018-08-10 15:54:36
756
原创 c++ 大小写转换类
void to_upper(std::string &str){ for(std::string::iterator it = str.begin(); it != str.end(); it++) *it = toupper(*it);}void to_lower(std::string &str){ for(std::string::...
2018-08-01 15:25:23
812
原创 c++ split工具类,切分字符
void split(const std::string& s, const std::string& delim, std::vector<std::string> &ret){ size_t last = 0; size_t index=s.find_first_of(delim,last); ret.clear(); w...
2018-08-01 15:23:14
98
原创 c++ trim类,去掉空格
std::string trim(std::string& str){ if(str.empty()) return std::string(); size_t s,e; for(s =0; s < str.length();s++){ if(!isspace(str.at(s))) break; } for(e = str.length()-1; ...
2018-08-01 15:11:42
762
原创 C++ map注意事项
C++ map注意事项1、在map中,由key查找value时,首先要判断map中是否包含key。2、如果不检查,直接返回map[key],可能会出现意想不到的行为。如果map包含key,没有问题,如果map不包含key,使用下标有一个危险的副作用,会在map中插入一个key的元素,value取默认值,返回value。也就是说,map[key]不可能返回null。3、map提供了两
2017-09-12 10:48:47
203
转载 IO多路复用之select总结
http://www.cnblogs.com/Anker/archive/2013/08/14/3258674.html点击打开链接
2017-09-12 09:56:31
180
原创 更改Ubuntu gcc、g++默认编译器版本
首先,看一下你的Ubuntu都装了哪些版本的gcc 用命令:ls /usr/bin/gcc* -l 我的显示是lrwxrwxrwx 1 root root 7 2011-08-14 15:17 /usr/bin/gcc -> gcc-4.6-rwxr-xr-x 1 root root 224544 2011-10-06 05:47 /usr/bin/gcc-4.
2017-07-18 11:42:15
413
原创 序列化和反序列化
1、序列化:1)序列化概念:程序员在编写应用程序的时候往往需要将程序的某些数据存储在内存中,然后将其写入某个文件或是将它传输到网络中的另一台计算机上以实现通讯。这个将程序数据转化成能被存储并传输的格式的过程被称为“序列化”(Serialization),而它的逆过程则可被称为“反序列化” (Deserialization)。简单来说,序列化就是将对象实例的状态转换为可保持或传输的格式的过程
2017-07-15 11:07:55
294
原创 c++访问权限的控制
不同继承方式的影响主要体现在:1、派生类成员对基类成员的访问控制。2、派生类对象对基类成员的访问控制。三种继承方式:1、公有继承(public)① 基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可访问。② 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。
2017-07-15 10:28:57
283
原创 注意stringstream.str()临时变量的lifecycle
注意stringstream.str()临时变量的lifecycle点击打开链接
2017-06-23 16:32:29
190
原创 gcc/g++在执行编译工作的时候具体步骤
gcc/g++在执行编译工作的时候,分为以下四个过程:1.预处理,生成.i的文件2.将预处理后的文件转换成汇编语言,生成.s文件3.汇编变为目标代码(机器代码)生成.o的文件4.连接目标代码,生成可执行程序参考这篇博客
2017-06-07 20:41:29
252
原创 c++中reverse和resize的区别
reserve是容器预留空间,但并不真正创建元素对象,在创建对象之前,不能引用容器内的元素,因此当加入新的元素时,需要用push_back()/insert()函数。resize是改变容器的大小,并且创建对象,因此,调用这个函数之后,就可以引用容器内的对象了,因此当加入新的元素时,用operator[]操作符,或者用迭代器来引用元素对象。再者,两个函数的形式是有区别的,reserve函
2017-06-07 14:28:31
1943
1
原创 memset是对字节赋值
如下demo是可以的,能把数组中的元素值都设置成字符1,#include #include using namespace std;int main(){ char a[5]; memset(a,'1',5); for(int i = 0;i cout system("pause"); return 0;}
2017-06-06 11:31:36
661
原创 数组的一些常见问题
数组求和求数组的最大值和最小值求数组的最大值和次大值求数组中出现次数超过一半的元素求数组中元素的最短距离求两个有序数组的共同元素求三个数组的共同元素找出数组中唯一的重复元素找出出现奇数次的元素求数组中满足给定和的数对最大子段和最大子段积数组循环移位字符串逆序组合问题合并两个数组重排问题找出绝对值最小的元素
2017-06-05 19:51:42
244
原创 大小端字节序存在的意义,为什么不用一个标准呢?
大小端问题主要涉及的是非单字节非字符串外的其余数据的表示和传递,如short型、int型等。大端和小端有其各自的优势。我们知道计算机正常的内存增长方式是从低到高(当然栈不是),取数据方式是从基址根据偏移找到他们的位置,从他们的存储方式可以看出,大端存储因为第一个字节就是高位,从而很容易知道它是正数还是负数,对于一些数值判断会很迅速。而小端存储 第一个字节是它的低位,符号位在最后一个字节,这样在做数
2017-05-15 20:04:35
770
原创 软硬连接
软连接。对于版本的发布,version-》version1 version-》version2,对用户无感知,而且节约空间。硬连接,比较浪费空间,但是有备份的作用。
2017-05-02 19:57:42
230
原创 静态成员必须类外初始化
在C++中,类的静态成员(static member)必须在类内声明,在类外初始化,像下面这样。 class A{ private: static int count ; // 类内声明};int A::count = 0 ; // 类外初始化,不必再加static关键字因为静态成员属于整个类,而不属于某个对象,如果在类内初始化,会导致每个对象都包含该静态成员,这不
2017-03-29 21:52:38
409
原创 虚函数与纯虚函数
c++中多态介绍C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数1:用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。 2:存在虚函数的类都有一个一维的虚函数表叫做虚表,类的对象有一个指向虚表开始的虚指针。
2017-03-28 21:28:43
141
原创 系统调用和库函数
系统调用在计算机中,系统调用(英语:system call),又称为系统呼叫,指运行在使用者空间的程序向操作系统内核请求需要更高权限运行的服务。 系统调用提供了用户程序与操作系统之间的接口。大多数系统交互式操作需求在内核态执行。如设备IO操作或者进程间通信。库函数库函数是在系统调用上的一层包装,运行在用户态(user mode),打个比方,库函数相当于包工头,系统调用是工人,我们可以自己找工人分任务
2017-03-28 21:21:00
219
原创 c++中strlen和seizeof的比较
1、strlen的介绍1. strlen是函数,它的结果要在运行的时候才能计算出来,用来计算字符串的长度,不是类型占内存的大小。2、sizeof的介绍sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。后续有其他问题继续补充。。。
2017-03-22 15:32:46
1379
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人