const讨论

C++中的const 在C语言中,const 用来限制一个变量,表示这个变量不能被修改,我们通常称这样的变量为常量(Constant) 在C++中,const 的含义并没有改变,只是对细节进行了一些调整,以下是最主要的两点。 1.C++中的 const 更像编译阶段的 #define const int m=10; int n=m; 变量是要占用内存的,即使被 const 修饰也不例外。m、n 两个变量占用不同的内存,int n = m;表示将 m 的值... 阅读详情


Huang  23:34:58
全局下,const放在ram的常量数据区
倏地飞  23:35:31
你加了那句 bin没变大?
Huang  23:35:44
局部函数里,你编译的时候肯定是需要占用rom区 存储这个值得
倏地飞  23:36:02
全局的时候就不占了吗?
倏地飞  23:36:10
应该占的吧?
Huang  23:36:22
全局在编译的时候不占用
倏地飞  23:36:35
不应该啊
Huang  23:36:44
运行的时候 就直接分配对应的ram区域了
倏地飞  23:37:48
至少这个语句要占空间的
倏地飞  23:37:53
怎么会不占呢?
倏地飞  23:38:03
除非他是跟宏一样
倏地飞  23:38:05
替换掉
Huang  23:38:06
我再验证下
倏地飞  23:39:55
貌似占的
Huang  23:40:53
占 必须占
倏地飞  23:40:56


倏地飞  23:41:00
必须占
倏地飞  23:41:15
//const char *cst = "ccccccccccccccccccccccc";


倏地飞  23:41:42
这句话占了48个字节的ROM空间
Huang  23:44:25
const char *cst = "c";
const char *cst = "caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
Huang  23:44:39
这样编出来是一样大的
倏地飞  23:44:59
是吗? 我验证下
倏地飞  23:45:27
果然是
Huang  23:45:29
嗯
倏地飞  23:45:41
为什么?
倏地飞  23:46:30
我估计是不是这样
Huang  23:46:41
因为是指针变量
倏地飞  23:46:45
只读存储区那块 是固定的
倏地飞  23:47:07
我感觉应该如果你把这个字符串加到一定的大小他就会变大
Huang  23:47:32
const char cst[] = "c";
const char cst[]= "caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
倏地飞  23:47:32
一定是这样的
Huang  23:47:45
这样会变大
倏地飞  23:48:40
你这样是前面变大了
倏地飞  23:48:45
跟后面没关系
倏地飞  23:49:01
指针只占4字节
倏地飞  23:49:06
数组就占多了
发送消息内容超长,请分条发送。
发送消息内容超长,请分条发送。
倏地飞  23:50:10


倏地飞  23:50:17
这样也变大了
Huang  23:50:27
擦 
倏地飞  23:50:57
我猜测是这样的 只读存储区那块 开始是固定的 当你超过那个固定值他也跟着变大
倏地飞  23:51:20


Huang  23:51:46
也就是说有开个固定的存。超过这个固定的值 就会再开一个新的存储区
Huang  23:51:56
应该是这样
倏地飞  23:52:15
对的 我又加了三个ccc 大小没变
倏地飞  23:52:31
所以说他应该是分片的 不是按需分配的
倏地飞  23:53:24
所以之前我猜测的const估计没错
倏地飞  23:54:14
"aaaa"会占用到只读存储区,前面的占用全局数据区
Huang  23:54:44
嗯
Huang  23:54:50
没错
倏地飞  23:54:51
RAM里面加载的程序我之前也考虑一个问题
倏地飞  23:54:59
就是ROM一般都比ram大得多
倏地飞  23:55:16
所以ram不是一次性装载ROM里面的代码段的
倏地飞  23:55:37
他应该是有他的一套规则 
倏地飞  23:56:07
转载一小段之后给cpu去执行
倏地飞  23:56:18
执行完再继续装载
Huang  23:56:47
这个和你用的什么rom有关
Huang  23:57:05
也就是flash 
倏地飞  23:57:13
嗯
倏地飞  23:57:27
ROM一般都比ram大
Huang  23:57:39
spi flash允许程序之间在flash中运行
Huang  23:57:51
nand flash不允许直接运行
Huang  23:58:02
一定要拷到ram中运行
Huang  23:58:15
我们公司的就是ram比rom大啊 
Huang  23:58:33
256M FLASH 512M DDR3RAM
Huang  23:58:43
我去洗澡准备睡觉
倏地飞  23:58:45
我擦
倏地飞  23:58:47
好的
Huang  23:58:48
老婆在催啊
Huang  23:58:52
我了个去 
倏地飞  23:58:56
今天分析了下
Huang  23:58:57
明天再继续搞
倏地飞  23:59:02
好多不清楚了搞明白了
Huang  23:59:08
嗯  好样的
倏地飞  23:59:08
继续搞
倏地飞  00:00:07
mtk25平台默认的是128Mbit flash memory 和 32Mbit SRAM,
倏地飞  00:00:28
就是我们通常所说的是16M ROM和4M RAM
C++ 类的内存分布学习笔记(含多态原理分析) 前几天bigo面试,面试官写了个有纯虚函数的类,问了我sizeof是多少…… 吃了没用过的亏,特开起了linux虚拟机耍起了sizeof 以下总结 前置知识 基本数据、指针类型大小(单位字节) char 1 short 2 int 4 float 4 double 8 long long 8 long 等于机器位数(32位机器为4,64位机器为8) 指针 等于机器位数 引用 等于所引用数据类型 类... 阅读详情

相关推荐

智能座舱架构与芯片- (10) 音频篇 下

若将有限个 量化样值的绝对值从小到大依次排列,并对应地依次赋予一个十进制数字代码(例如,赋予样值0的十进制数字代码为0),在码前以“+”、“-”号为前缀,来 区分样值的正、负,则量化后的抽样信号就转化为按抽样时序排列的一串十进制数字码流,即十进制数字信号。如果声学密封不牢,来自内部结构的噪声可能到达传感器,两个传感器之间的泄漏可能降低BF算法的性能。未来,随着汽车电动化的普及,传统的ANC降噪所针对的发动机噪音已经不复存在,而路噪问题将越发明显,因此,全新的RNC主动路噪消减技术将会有一个更为宽广的市场。

joanna_xiao的博客 3838

【MCU】用精妙方案解决按键端口太少问题

1、聊一聊 青春的味道,便一直在自己的歌单中!2、正文部分1 需求 对于一些小型低成本的产品所使用的的MCU都会选用较少管脚的封装,一方面可以缩小产品的体积,同时还可以减...

最后一个bug的博客 1084

单周期CPU设计【Verilog】

第一章 单周期CPU的设计原理 为实现单周期CPU,本文首先研究了单周期CPU的相关理论和工作原理。本章首先简要介绍单周期CPU的基本概念,然后对CPU的工作原理进行简要分析,以便为单周期CPU的设计和开发提供理论基础。 1.1 单周期CPU概述 中央处理器,即CPU,作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。在CPU内部,电平从低到高变化的瞬间称为时钟上升沿,两个相邻时钟上升沿之间的时间间隔称为一个时钟周期。单周期CPU指的是一条指令的执行在一个时钟周期内完成,然后开始下一

醉酒、冰城外 2万+

对const和#define内存占用理解

通过以下代码分析:   const int c = 5; #define N 6 void main() { int i; int j; int k; int l; i = c; j = c; k = N; l = N; return 0; }     汇编视图: 3: const int c = 5; 4: #

云淡风轻的博客 6094

基于浏览器插件的拼多多买家订单导出方法

基于浏览器插件的拼多多买家订单导出方法

2501_93542170的博客 1714

实战指南:CentOS 7下VOS3000 8.0从零部署到授权激活全流程

本文提供了一份详尽的CentOS 7系统下部署VOS3000 8.0的实战指南。从环境准备、使用FileZilla上传安装包、执行自动化安装脚本,到获取软件码、利用注册机生成授权文件并激活,手把手带领用户完成从零部署到投入商用的全流程,确保系统稳定运行。

zero1的博客 895

深入理解C语言中的const

const修饰的常量,并不是真正的常量,它只是告诉编译器这是一个只读的变量,在程序里面不能直接把它作为左值,也就是不能直接给一个const修饰的变量赋值,但是该变量还是在内存中占有一定空间的,我们还是可以通过取地址操作符来得到它的地址。

洪流之源 1013

mfcc总结,这个mel三角滤波器分组到底是如何起作用的呢?

先看fft频谱图(这是4096字节取样fft计算,横轴频率是从0到512,后边意义不大,未取,纵轴是振幅),那些我随便画的蓝色线,你有什么联想?: 再看,这绿色线,是否有一种上升后,便逐渐式微的感觉,都是三角形的,这或许也是mel当初和绝大多数人看到的: 如果在振幅上加上一条限制的黑线(振幅门槛限制),黑色线以下很多频率就没有意义了,你看,有用的频率连一半(512/2=256)都占不到...

ganggangwawa的博客 9907

16、关于对const的讨论

一、经过const修饰后,什么时候为只读变量,什么时候为常量? 1、const在从c语言中的特性 其中有一点在c++中是不成立的,也就是在c++中可以通过const定义真正意义的常量。 2、const常量的判别标准 (1)只有字面量初始化的const常量才能进入符号表中 (2)使用其他变量初始化的const常量本质上是只读变量 (3)被volatile修饰的const常量不会进入符号表中 下面通过例程来分析。 #include<iostream> using namespace std; in

wuzhishiwo的博客 261

uniapp - 实现PDA扫码枪RFID批量扫描读取示例代码,uni-app APP识别RFID(射频识别)结合硬件设备进行扫描,uniApp调用RFID读写通用方案适配各种设备+完整实例源码教程!

uni-app PDA 读取RFID,基于uniapp开发PDA扫码枪APP:实现RFID批量扫描读取功能,UniApp中的RFID实现,手持机 RFID插件(uni-app集成手持设备rfid插件),uniapp自动识别RFID,uni-app调RFID模块,uni-app RFID识别插件,uniapp读取rfid,uniapp手持设备扫描rfid,uniapp超高频rfid识别,rfid标签识别,uniapp调用RFID读写,uniapp rfid扫码枪,uniapp中如何使用rfid插件,打包上线后

🏆 前端领域优质创作者 1万+

MCAL中Dsadc的配置

DSADC模块作为一个专用的模块,主要应用在编码器软解码,功能强大而复杂,这里介绍了Dsadc的mcal配置和详细描述,让你全面学习和理解这个模块功能和应用。

dhyw12399999的博客 786

关于const限定符和const引用的讨论

当我们需要定义一个不允许被修改的变量时,我们要定义如下: 例如:const  int  buf = 1024; 这就使得变量buf被定义成了常量,初始值为1024;任何对buf的修改都会导致编译错误:buf=512;将要报错。 const对象默认为局部变量,一个非const变量如果做了合适的声明就可以在另外的文件中被使用;在全局作用域声明的const变量不能被其他文件访问,通过指定const

CFZero的专栏 867

微信小程序 - 解决报错 {“errcode“:41002,“errmsg“:“appid missing, rid: X“} 微信报错错误码errcode“:41002问题分析及解决教程(详细排查)

【微信小程序】报错{“errcode“:41002,“errmsg“:“appid missing, rid: 64e55770-67c1fb7e-027c5a70“}:【微信小程序】微信小程序登录请求出现appid missing提示,微信公众号{"errcode":41002,"errmsg":"appid missing"},微信 报错{“errcode“:41002,“errmsg“:“appid missing,微信小程序获取openid返回appid missing的问题,微信小程序提示Erro

🏆 前端领域优质创作者 5647

C++ 指针和const的讨论

该博客主要关于指针的相关信息,包含普通指针和共享指针以及const的讨论 #include <iostream> #include <memory> using namespace std; // 对于普通类型指针 #define PTR(X) X* // 普通指针 #define CONST_PTR(X) const X* // 指针内容不可修改 #define PTR_CONST(X) X* const ...

hit1524468的专栏 152

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

auto忽略const的讨论

我们知道,auto根据初始值的类型对声明变量进行赋值。当一个auto语句中对多个变量进行定义时,初始值的类型必须保持统一。然而,auto对于const的处理往往没有这么简单。 例如: //例1 int i = 0; const int ci = 0; auto a = i, b = ci; 这段代码是可以正常运行的。其中a,b的类型均是int。这是因为auto会忽略掉顶层const,所以i和ci对于auto来说都等同于int类型。 第二个例子: //例2 int i = 0; const int ci =

FanOfBatman的博客 970

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

顶层const和底层const的理解_C++干货系列——const真理大讨论(一)“语法和语义const”...

配图中长着翅膀的大马——夜骐,拉着霍格沃茨的“无人马车”。只有目睹过死亡的人,才能看到夜骐,亲眼目睹了塞德里克被杀的哈利再次回到霍格沃茨被夜骐所吓到,却为罗恩所不解——他看不到夜骐,只有“疯女孩”卢娜告诉了哈利关于夜骐的一切。最后去救小天狼星,邓布利多军们也是骑着夜骐去魔法部。有时被误解,只是经历了更多。疯女孩并不疯,我们都是追求真理的Ravenclaw!在接下来我准备花三篇文章的篇幅讨论我们的老...

weixin_39634900的博客 157

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

const *和* const讨论

const *和* const讨论         使用一个指针时涉及到两个对象:该指针本身和被它所指的对象。将一个指针的声明用const “预先固定”将使那个对象而不是使这个指针成为常量。要将指针本身而不是被指针对象声明为常量,我们必须使用声明运算符* const,而不能只用简单的const。例如: void fun_1(char* p) { char s[] = "Gorm";

zyw_anquan的专栏 947

const引起重载的情况讨论

注:博主尚未找到最原始来源,若能提供原始地址的朋友麻烦在下面评论,我将注明转处,谢谢。 const到底是不是一个重载的参考对象,请看下面的例子 class A { public:     void f(int i){ std::cout     void f(int i) const { std::cout }; 这个地方的重载是没有问题的,说明const 修饰函数能够区分重载

Code Will 1217

讨论const的实现机制

说实话 我感觉 const 的实现应该和 宏类似。 例如 const int i = 10; 当代码中有引用到 i 的地方 就直接用 10 这个常数替换掉, 只是相对宏会做一次类型安全检测,发现类型不对会进行报错。 如果是这样实现的话,那const就应该是在编译期展开

raoshaoquan的专栏 1296

const限定符的讨论

因为常量在定义后就不能被修改,所以定义时必须初始化: 这几种指针却是很容易弄混淆。下面我谈谈我的看法。欢迎指正。  指向常量的指针。  按照字面意思,这个指针应该指向常量。所以呢,他的形式应该如下:  const   int   a=1;  const   int   *ip=&a;  这里我们需要注意const的位置。他在指针指向的变量类型即int之前。这就是

dayuqi的专栏 561

C++ 中对const关键字讨论以及constexpr

一 .const关键字与最基本性质。 定义一个常量: const int bufferSize = 512 需要注意的是: const int bufferSize = 512; bufferSize = 10; // 错误 常量不能改变 也就是说常量只能作为右值 //上面代码与下面相同 int a =10; bufferSize = a; //错误 //const int k; ...

qq_40324647的博客 297

c++ const用法讨论

const用法

m0_46499080的博客 114

const 引出的对常量,变量,只读变量的讨论

<br />谈谈大家对const的理解吧毛剑(916783539) 19:14:39 关键字之一 声明只读李俊杰(2006)(411421510) 19:14:56 恩。没有其它的了毛剑(916783539) 19:15:19 用于修饰变量李俊杰(2006)(411421510) 19:15:53 好。先上一段代码李俊杰(2006)(411421510) 19:16:07 int n=5; int a[n]; const int n=5; int a[n]; #define N 5 int a[N]; 李俊

alexyangyuanchao2008的专栏 998

关于 const char *ptr,char const *ptr,char *const ptr 的讨论

  对于每个做C/C++的伙伴来说,面试中少不了关于const 的考察,尤其是对于刚毕业的新人。 今天听见同事在讨论这个问题,就随手写一下自己的理解。希望对大家又所帮助。 首先来说一下char *ptr:            const char *ptr,和char const *ptr作用一样,因为const 后修饰的都是 *ptr,也就是说 *ptr是常类型、不能修改,说白了...

weixin_30437337的博客 285

函数声明中的const的用法和讨论

我发现,在重构operator的时候,常常变量加const XX & 和 在函数声明后面加consst。 例如如下代码: struct person { string name; int age; person(string name, int age) { this->name = name;

ChenLI's blog 1115
上一篇: const疑惑
下一篇: const又一困惑
speedge
博客等级 码龄19年 8粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值