`

const 指针;bitset测试

    博客分类:
  • C++
阅读更多
测试cosnt 指针
	//从右向左阅读声明,实际上const放在类型之后比较好
	const int i=1;//i为常量 :i为一个const int
	const int *ip;//ip指向的int为const的:ip 为一个const int的*指针
	int const *ip2;//等同于ip的声明

	int * const ipConst; //指针的值为常量,必须有初值,此处编译不通过:ipConst为一个int*型指针,它为const的

引用
当const所在代码段中不包含括号时,沿着*号划一条线,如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量

以上文字引用自:http://wenku.baidu.com/view/0d8a3e087cd184254b3535a6.html

测试标准库bitset
void test_bitset(){//#include <bitset>	//using namespace std;
	bitset<32> b(0xff);
	cout<<"bitset<32>内容:"<<b<<endl;
	cout<<"有bit的值为1:"<<b.any()<<endl;
	cout<<"多少bit的值为1:"<<b.count()<<endl;

	b.flip();//翻转每一个bit
	cout<<"翻转后:"<<b<<endl;
	b.flip(0);//翻转第0个bit
	cout<<"翻转第0位后:"<<b<<endl;

	b.set();//每一bit均设为1
	cout<<"b.set()后:"<<b<<endl;
	b.reset();//每一bit均设为0
	cout<<"b.reset()后:"<<b<<endl;
	b.set(0);//第0个bit均设为1
	cout<<"b.set(0)后:"<<b<<endl;
	b.reset(0);//第0个bit均设为0
	cout<<"b.reset(0)后:"<<b<<endl;

	string s="101100";
	bitset<32> b2(s,0,3);//第2、3个参数省略即为用整个string赋值,
	cout<<"用string初始化后:"<<b2<<endl;


}

分享到:
评论

相关推荐

    简单谈谈C++ 头文件系列之(bitset)

    与`vector`不同,`bitset`的元素不是独立的对象,而是位,因此它们没有指针或引用类型。这意味着不能像处理`vector`那样获取`bitset`的迭代器或地址。`bitset`的操作通常更加原子化,直接作用于位,而不是对每个元素...

    C++primer笔记

    - **指针与常量**:当声明 `const pstring cstr` 时,`cstr` 是一个指向 `string` 的常量指针,而 `string *const cstr` 则表示 `cstr` 自身是常量。 #### 5.4 动态内存管理 - **动态内存分配**:使用 `new` 和 `...

    c++学习文档

    本文档是对C++语言的基础知识点的总结,涵盖了C++基础概念、命名空间、头文件、String和vector类、迭代器、bitset对象、指针、数组和多维数组等多个方面的知识点。 一、C++基础概念 * C++语言是面向对象的编程语言...

    C++Primer 笔记(不完整版)

    - `bitset`可以与字符串相互转换,如`bitset(strval)`根据字符串创建`bitset`,反之亦然。 - `bitset`提供了诸如`any()`、`none()`、`size()`、`set()`、`reset()`和`flip()`等方法来检查和修改比特位状态。 4. *...

    数据结构电子深圳大学自动化dsPPT学习教案.pptx

    bitSet(const bitSet&lt;T&gt;& R); // 复制构造函数 ~bitSet() { delete []bitVector; } // 析构函数 int getMember(const T x); // 获取元素 void putMember(const T x, int v); // 设置元素 void makeEmpty(); // ...

    非常经典的c++ primer视频教程6-10

    4.2.5 指针和const限定符 4.3 C风格字符串 4.3.1 创建动态数组 4.3.2 新旧代码的兼容 4.4 多维数组 第5章 表达式 5.1 算术操作符 5.2 关系操作符和逻辑操作符 5.3 位操作符 5.3.1 bitset对象或整型值的...

    c++ 标准库

    - `const_pointer`:指向容器实例化时所用const元素类型的指针(同上)。 - `iterator`:用于遍历容器元素的“智能指针”类型。 - `const_iterator`:用于遍历容器const元素的迭代器版本。 - `reverse_iterator`:...

    C++ primer学习笔记一

    const string &shorterString(const string &s1, const string &s2) { return s1.size() () ? s1 : s2; } ``` 需要注意的是,vector的下标操作不会自动添加元素,只允许访问已存在的元素。尝试访问超出范围的元素...

    C++ Primer 中文版(第四版)学习笔记~

    - **常量指针与指针常量**:`const`关键字用于定义常量指针或指针常量,限制指针的行为以提高程序的安全性和可维护性。 ### 6. 内存管理 - **动态内存分配**:使用`new`关键字可以动态分配内存,使用`delete`释放...

    关于向量容器和C++Primer中容易让人忽略的几点细节

    - 包含头文件:`#include &lt;bitset&gt;`,并使用`std::bitset`。 - `count()`和`size()`:这两个函数返回`size_t`类型的值,表示位集的大小或设置位的数量。`size_t`定义在`&lt;cstddef&gt;`头文件中。 3. MFC(Microsoft ...

    Bitwise-trie:按位trie的C++实现

    按位尝试基本说明我在这里实现的基本上是一个没有前缀... memcpy((void *) ptr, (const void *const) &a, sz) ptr是字符指针缓冲区a是数据sz是 a 的大小(以字节为单位) 遍历数据,在std::bitset容器中设置相应的位

    C++入门学习文档

    - **const限定符**: 使用const关键字定义常量。 - **引用**: 引用是一种对象的别名,允许程序操作引用而不是对象本身。 - **typedef名字**: 用于为类型定义一个新的名称。 - **枚举**: 定义一组命名的整型常量。 - *...

    C++Primer视频(初级)下载地址

    第4章指针和const限定符 33.第4章C风格字符串 34.第4章创建动态数组 35.第4章新旧代码的兼容 36.第4章多维数 37.第5章算术操作符 38.第5章关系操作符和逻辑操作符 39.第5章位操作符 40.第5章赋值...

    百度历年笔试面试150题.docx

    7. **指针和const属性**:虽然这是C/C++的知识,但理解const关键字对于阅读和理解Java中final关键字的意义非常重要。 8. **去除const属性**:Java中没有const关键字,但理解这个概念有助于理解Java中对象的不可变性...

    C++ Primer中文版(第5版)李普曼 等著 pdf 1/3

     2.4.2 指针和const 56  2.4.3 顶层const 57  2.4.4 constexpr和常量表达式 58  2.5 处理类型 60  2.5.1 类型别名 60  2.5.2 auto类型说明符 61  2.5.3 decltype类型指示符 62  2.6 自定义数据结构 64  ...

    C++Primer(第5版 )中文版(美)李普曼等著.part2.rar

     2.4.2 指针和const 56  2.4.3 顶层const 57  2.4.4 constexpr和常量表达式 58  2.5 处理类型 60  2.5.1 类型别名 60  2.5.2 auto类型说明符 61  2.5.3 decltype类型指示符 62  2.6 自定义数据结构 64  ...

    C++编程思想

    const关键字可以用于声明常量变量,同时也可以用来限制函数参数或成员函数的行为,使其不可修改。理解常量的使用有助于编写更安全、可维护的代码。 运算符重载(Operator Overloading)是C++的一个独特特性,允许...

Global site tag (gtag.js) - Google Analytics