`

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  ...

Global site tag (gtag.js) - Google Analytics