灵活运用位操作往往能使程序效率得到很大的提高,为了能灵活的使用位操作还是很有必要熟记一些位操作小技巧: 1.判断奇偶 奇数一定能写成偶数+1,而这个+1就对应了2进制中最右边的那一位,所以只要判断最右边的位是否是1就可以判断奇偶,使用位操作如下: x&1 1 x&1 返回1则...

1.位操作 计算机中使用01来存储数据,普通的操作数(+-等)至少也是以字节为单位,但是有的情况下不得不直接操作位或者要优化程序的性能,这时候位运算就体现出它的的强大了。位运算的效率要大大高于普通运算符,现代编译器在很多情况下对程序的优化也用到了位运算。这篇文章主要讲解  & | ~ ^这四种位运算。 2.从集合的角度看位操作 如果仅仅从位与位之间的关系来看位运算是很难真正...

在各大公司的笔试面试题中经常会考察一个容易混淆的知识点:const指针和指向const的指针。 其实判断过程很简单,一句话就能明白:以*为分隔符,先向后看,再向前看。比如: const int *p; 1 const int *p; 以*为分隔,先向后看是p,说明它只是一个普通的指针,再向前看是const int,...

1、overloading(重载) 在同一个命名空间中,函数同名但参数个数或类型不同,比如: int fun(int a,int b); int fun(int a); 12 int fun(int a,int b);int fun(int a); overloading是在编译期绑定的。   2、overriding(覆盖) 简单而言即是C++中的虚函数,函数名和函数签名...

暑假的时候去公司锻炼了一段时间,学到了一些C++代码规范: 1.类名和函数名开头字母大写,如StartConnectToServer 2.函数参数过长好适当分行,并且逗号在最前面: C++ boost::asio::async_read(_socket,boost::asio::buffer(_head_buf, HEADER_SIZE) // read header , boost::bind(&Client::On...

C++ /////////////////////////////////////// // Asio同步socket连接示例 // #include <iostream> #include <boost/thread.hpp> #include <boost/asio/io_service.hpp> #include <boost/asio.hpp> using namespace boost; typedef boost::asio::io_service IoService; typedef boost::asio::ip::tcp TCP; bool...

+
跳转到评论