您的位置:首页 > 其它

遇到的一些细节问题

2017-07-26 16:21 274 查看

-----switch的坑

switch case中的语句最好用{}括起来,

如果case语句中没有用{}括起来,不可以初始化变量,也不可以声明含有构造函数的类变量,因为构造函数会初始化类成员变量。

------嵌套容器的赋值

struct FriendInfo
{
int64_t __role_id;
int64_t __icon_id;
}
typedef std::map<Int64,std::vector<FriendInfo> > Apply_map;
Apply_map apply_frined_map_;
std::vector<FriendInfo>  &friend_vec=apply_frined_map_[role_id];
friend_vec.push_back();


一般容器声明用typedef来声明优化代码清晰度,通过引用来给容器赋值

------Linux利用touch批量修改文件夹和文件的时间

下面只有两个参数存在差别,d与f,d表示文件夹,f表示文件。

查找当前目录下,所有的文件夹以及子文件夹,并把所有的文件夹及子文件夹设置成755,包括当前目录

find ./ -type d -exec touch {} \;

查找当前目录下,所有的文件以及子文件夹下的文件,并把所有的文件设置成644

find ./ -type f -exec touch {} \;

修改单个文件的时间为

touch 文件名

------模板类中的参数如果是类,可以预先使用该类中的函数。

#include<iostream>
using namespace std;
template <class Cobject>
class Object
{
public:
void func()
{
Cobject *obj=new Cobject();
obj->CoutSomething();
}

};
class Base
{
public:
void CoutSomething()
{
cout<<"hello worle"<<endl;
}

};
int main()
{
Object<Base> obj;
obj.func();
system("PAUSE");
}


-----进程通信中增加函数时间戳来执行函数

tick=0;
Int64 TimeTick[2];

TimeTick[ tick % 2 ]=Time::gettimeofday();
tick++;
if(TimeTick[0]==TimeTick[1])
{
return 0;
}


----linux固定ip地址

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

IPADDR=192.168.0.116

NETMASK=255.255.0.0

GATEWAY=192.168.0.1

ONBOOT=yes

TYPE=Ethernet

重启配置文件使之生效

# /etc/init.d/network restart

----字符串,整型,进制的转换

--------字符串转换为整型 atoi  或者
 sscanf

#include <stdlib.h>

int atoi(const char *nptr);
long atol(const char *nptr);


#include <stdio.h>
int sscanf(const char *str, const char *format, ...);

char src[6]="12345";
int des;
sscanf(src,"%d",&des);
printf("des is %d",des);


---------整型转换为字符串  itoa (windows平台)或者 sprintf

#include <stdio.h>
int sprintf(char *str, const char *format, ...);

char des[6];
int src=12345;
sprintf(des,"%d",src);
printf("%s",des);


------------十进制,二进制互转
可以通过itoa转换为二进制,一般通过 %2取余,并连续除2,按顺序输出即可

----修改Linxu时间-时区

date 获取时间   cst - 北京时间
date -u   如果你使用了UTC,那么你BIOS里面的时间,就是UTC 0的时间。简言之,从北京时间中减去8个小时即可。
修改时区 命令
:tzselect
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息