Const指针 、 指向const的指针 、引用、指针
1. const指针和 指向const的指针
指向const的指针: 不允许通过指针来改变其指向的const值
const double *cptr
*cptr = 42; // error! 指针代表的值无法修改
const double pi =3.14
double *ptr = &pi //error ! 无法将指向const的指针赋值给非非const指针;
const double *cptr = &pi //ok
const 指针:本身值无法修改,即指针指向的地址无法修改
int num = 0;
int *const cur = &num ;// 错误
2.数组的引用做参数
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void fun( unsigned char* const &a )
{
memset(a , 5,5 );
}
int main()
{
unsigned char a[5];
fun(a );
return 0;
}
3. 不能将指向const的指针的指针转换为指针
const char * 转 char*
指向const的指针不能被赋给指向非const的指针,所以应该用strcpy,也就是另开一块内存,把字符一个个复制过去,示例如下:
const char *expr = "goodidea";
char *buf = new char[strlen(expr)+1];
strcpy(buf, expr);
Const指针 、 指向const的指针 、引用、指针的更多相关文章
- const 指针与指向const的指针
最近在复习C++,指针这块真的是重难点,很久了也没有去理会,今晚好好总结一下const指针,好久没有写过博客了,记录一下~ const指针的定义: const指针是指针变量的值一经初始化,就不可以改变 ...
- 指针总结指向const的指针、const指针、指向const指针的const指针
指针的一些总结 const与指针 指向const的指针指的是指针指向的数据是常量,不可以被修改,但指针变量本身可以被修改,如const int *p:严格说不能用指针间接修改指向的数据,但该变量可 ...
- 指针常量&常量指针&指向常量的指针常量
搞不懂不吃晚饭 (1)指针常量 指针常量是一个常量,但是是指针修饰的. 格式:int * const p; 例如 int a, b; int * const p = &a;//指针常量 //分 ...
- 剑指offer25:复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),结果返回复制后复杂链表的head。
1 题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回参数中的节点引用 ...
- c++中多态性、dynamic_cast、父类指针、父类对象、子类指针、子类对象
c++多态性是依靠虚函数和父类指针指向子类对象来实现的.简单来说,父类中定义虚函数,父类指针指向子类对象,父类指针调用函数时调用的就是子类的函数. 父类没有定义虚函数,父类指针指向子类对象时,父类指针 ...
- 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象, const 指针和指向 const 对象的指针, const 对象的引用
[源码下载] 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象, const 指针和指向 const 对象的指针, con ...
- C++ Primer 第二章 引用 指针 const限定符
1.引用: 为对象起了另外一个名字,引用类型引用另外一种类型,通过将声明符写成&d的形式来定义引用类型,其中d也就是声明的变量名(声明符就是变量名). PS:1.通过图片中编译所提示的报错信息 ...
- const 相关知识 const和指针、const和引用
以前老是对const概念不清不楚,今天算是好好做个笔记总结一下.以下内容包括1)常量指针(指针本身是常量),2)指针常量(指针指向的是常量对象),3)常量引用,4)const成员函数. 常量指针,指针 ...
- [转]const指针与指向const的指针
经常忘记,保存一下.. #include <iostream> using namespace std; int main(int argc, char *argv[]) { ; int ...
随机推荐
- 【Java】给整数加上千分位分隔符
package com.testEmp; import java.text.DecimalFormat; public class NumberFormat { public static void ...
- P5020 货币系统
P5020 货币系统 题解 仔细分析... 这道题其实就是求所给数组中有多少个数字不能被该数组中的数字自由组合表示出来 比如样例1 3,10 不能被该集合里的数字表示出来,所以他们组成目标集合 6=3 ...
- redis4. dict字典
基础数据结构: (注意dict是字典,dict->type是相关函数指针, dict->type->keyDup是执行该方法) 具体调用链路: 渐进式rehash: 新增/删除时: ...
- SpringCloud(四)之Netflix开源组件断路器Hystrix介绍
一.前言? 1.Netflix Hystrix断路器是什么? Netflix Hystrix是SOA/微服务架构中提供服务隔离.熔断.降级机制的工具/框架.Netflix Hystrix是断路器的一种 ...
- 【转】实现1080P延迟低于500ms的实时超清直播传输技术
最近由于公司业务关系,需要一个在公网上能实时互动超清视频的架构和技术方案.众所周知,视频直播用 CDN + RTMP 就可以满足绝大部分视频直播业务,我们也接触了和测试了几家 CDN 提供的方案,单人 ...
- intellij idea如何将web项目打成war包
1.点击[File]->[Project Structure]菜单(或使用Shift+Ctrl+Alt+S快捷键),打开[Project Structure]窗口.如下图: 2.在[Projec ...
- Delphi使用TADOQuery的RowsAffected属性时需要注意的一个点
测试环境是:Delphi 6.Oracle.PLSQL 先创建一个模拟测试的数据表,并且添加几条模拟的数据 create table practice(uno varchar(8), uname va ...
- SaCa CDC产品简介
1.1 产品简介 东软SaCa™ CDC实时增量数据捕获平台(以下简称SaCa™ CDC)是一款高度可扩展.可靠和易于配置的异构实时事务复制软件,能够提供异构环境下数据的实时捕捉和交付数据,以独立 ...
- Chrome F12 谷歌开发者工具解析
一.工具简单介绍 F12可用于网站界面.性能测试,bug定位等 以 www.baidu.com 为例: Elements:查看页面元素属性(多用于自动化元素定位) Console:记录日志信息(用于定 ...
- Linux详细介绍以及常用命令
Linux系统说明 Linux( 诞生于1991.10.5) 继承了Unix以网络为核心的设计思想, 是一个性能稳定的多用户网络操作系统. Linux这个词严格意义上只表示Linux内核, 但日常中, ...