首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

void时指针算法的大小未知

在C++中,void指针是一种通用指针类型,可以指向任何类型的数据。当指针的类型为void时,无法确定其大小,因为void类型本身没有固定的大小。要确定指针的大小,需要知道其指向的数据类型。

例如,如果指针指向一个int类型的数据,则其大小为sizeof(int)。如果指针指向一个float类型的数据,则其大小为sizeof(float)。因此,在使用void指针时,需要根据实际情况确定指针的大小。

在C++中,可以使用sizeof运算符来获取指针的大小。例如:

代码语言:c++
复制
int* pInt = new int;
float* pFloat = new float;

std::cout << "Size of int pointer: "<< sizeof(pInt)<< std::endl;
std::cout << "Size of float pointer: "<< sizeof(pFloat)<< std::endl;

输出结果将为:

代码语言:txt
复制
Size of int pointer: 8
Size of float pointer: 8

需要注意的是,不同的平台和编译器可能会有不同的指针大小,因此在编写跨平台的代码时需要注意。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

HTTP在要传输的内容大小未知时应该怎样

一般情况HTTP的Header包含Content-Length域来指明报文体的长度。...如:      有时候服务生成HTTP回应是无法确定消息大小的,比如大文件的下载,或者后台需要复杂的逻辑才能全部处理页面的请求,这时用需要实时生成消息长度,服务器一般使用chunked编码。     ...在进行Chunked编码传输时,在回复消息的Headers有transfer-coding域值为chunked,表示将用chunked编码传输内容。...使用chunked编码的Headers如下(可以利用FireFox的FireBug插件或HttpWatch查看Headers信息,HttpWatch还可以查看chunked的个数):      chunked...在最后一个长度为0的Chunk中的内容是称为footer的内容,是一些没有写的头部内容。

1.2K30

void及void指针含义的深刻解析

void指针使用规范 ①void指针能够指向随意类型的数据,亦就可以用随意数据类型的指针对void指针赋值。...void的作用 ①对函数返回的限定。 ②对函数參数的限定。 当函数不须要返回值时,必须使用void限定。比如: void func(int, int); 当函数不同意接受參数时,必须使用void限定。...规则三小心使用 void 指针类型   依照 ANSI(AmericanNationalStandardsInstitute) 标准,不能对 void 指针进行算法操作,即下列操作都是不合法的...: void * pvoid; pvoid ++;//ANSI :错误 pvoid += 1;//ANSI :错误 ANSI 标准之所以这样认定,是由于它坚持:进行算法操作的指针必须是确定知道其指向数据类型大小的...可是大名鼎鼎的 GNU(GNU’sNotUnix 的缩写 ) 则不这么认定,它指定 void * 的算法操作与 char * 一致。

1.5K10
  • C语言中的函数指针(*(void(*)())0)();

    个人总结一下C语言中有关函数的知识,如有问题请留言指明*v* (*(void(*)())0)(); 其实这个语句只有在微处理器最底层才有可能被调用,因为应用层几乎没有直接对一个地址进行操作的。...第三个问题:这个地方也是比较绕的地方,我们直接定义一个函数指针时要指明函数的返回值类型以及入参类型等,正常我们定义一个有一个int入参没有返回值的函数指针变量是 void (*funcp)(int);,...函数指针变量和整形变量相对比的话,void (*)(int) 就相当于int,而变量名funcp就和a等同了。...看到这里,再回头看看上面的(*(void(*)())0)();语句,你会发现(void(*)())0是将0强转成无返回值无入参的函数指针地址,外面一层就是取地址执行函数。...函数指针相关的知识点还是很重要的,在一些较大的项目中,我们经常会看到这样的语句 typedef void (*HANDLER) (int);,这是定义一种函数指针类型,后面直接使用HANDLER就可以定义入参一个

    1.8K20

    你必须知道的指针基础-7.void指针与函数指针

    一、不能动的“地址”—void指针 1.1 void指针初探 ?   void *表示一个“不知道类型”的指针,也就不知道从这个指针地址开始多少字节为一个数据。...PS:void *就是一个不能动的“地址”,在进行&、移动指针之前必须转型为类型指针。 1.2 void指针的用途 ?   ...这里我们看一下我们之前了解的memset函数,其第一个参数就是一个void指针,它可以帮我们屏蔽各种不同类型指针的差异。...函数指针是一个指向函数的指针,我们可以在C中轻松地定义一个函数指针: typedef void (*intFunc)(int i);   这里我们定义了一个无返回值的,只有一个int类型参数的函数指针intFunc...其所指向的函数应该是一个返回值为int类型的,参数为两个void指针。

    95820

    初识指针(指针和指针变量、如何理解地址、指针类型的意义、void*指针、野指针、空指针)(笔记)

    ,指针变量并不完全等同指针, 但口头上 指针 一般是 指针变量 2.1指针变量的大小 1.指针变量是专门用来存放地址的,指针变量的大小取决于一个地址存放需要多大空间 32位机器上:地址线32根,地址的二进制序列就是...32bit位 - 要把这个地址存起来, 需要4个字节的空间,也就是32bit位的空间 所以:32位机器上指针变量的大小是4个字节!...2.32位平台下地址是32个bit,指针变量的大小是4个字节 64位平台下地址是64个bit,指针变量的大小是8个字节 三、如何理解地址: 计算机中硬件单元要互相协同工作(协同:互相进行数据传递...*指针:无具体指针(泛型指针) 这种类型的指针可以用来接受任意类型的地址,但也有局限性, void*类型的指针,局限性在于他不能直接进行指针的+-整数和解引用的运算 有什么用: 一般void...野指针是C语言中一个常见的内存泄漏问题。如果程序中存在野指针,当程序再次申请内存时,可能会将之前已经释放的内存分配给新的变量,导致程序出现不可预测的行为,甚至崩溃。 野指针成因: 1.

    19910

    在未知大小的父元素中设置居中

    当提到在web设计中居中元素时。关于被居中的元素和它父元素的信息,你知道的越多就越容易设置。那么假如当你不知道任何信息?居中也是可设置的。...不太困难:知道子元素的宽高 如果你知道父元素和要被居中的子元素的宽和高(并且这些尺寸不会改变),万无一失的一个居中做法是绝对定位。 假设你知道待居中子元素的宽高,但是父元素的宽和高可变。...; height:100%;">让table和table的父元素同宽高,目的是 ‘设置text-align:center; vertical-align:middle; ’ 时,让table的cell能够居中...---- 困难的:不知道子元素的宽高 当你不知道待居中子元素的尺寸时,设置子元素居中就变得困难了。 ? 最粗俗的方式是像下面这样使用table元素设置居中: ?...比如100%width,table会根据table里的内容伸展table的宽度,然而默认情况下块级元素会伸展它的宽度为父元素的宽度。

    4K20

    指针的内存大小

    而在x84架构中,我们的cpu每一次提供一条不可分割的32位指令传递给cpu,这样说明了64位系统为什么可以运行32位程序。 2.指针的内存大小 了解上述内容后我们来看指针的内存大小。...首先,指针就是一个变量,用来存储地址信息。所以无论什么类型的指针,其内存大小都是相同的,都是数据的存储空间长度。...2.1不同系统环境的指针内存大小 32位----32bit----4Byte 64位----64bit----8Byte 原理是因为不同系统中cpu能够一次性提取的位不同,所以地址长度也不同。...现在我们换到x64系统来看一下指针的内存大小 #define _CRT_SECURE_NO_WARNINGS #include int main() { int a = 0;...总结 指针的内存大小就是变量的地址长度。在不同系统环境中其地址长度也不同,所以指针内存的大小通常为4字节(32位)或者8字节(64位)。

    14710

    初识C语言——初识指针(什么是内存,什么是指针,指针变量怎么用,指针的大小)

    所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。 为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。...("%c\n", ch); return 0; } 3.指针变量的大小 思考一个问题,整型变量的大小是4个字节,char类型1个字节,double8个字节,那么指针变量的大小是多少?...不同类型的指针变量大小是不是也不一样呢?...为什么不同类型的指针变量大小是一样的呢?又为什么是4个字节呢? 原因是: 指针是用来存放地址的,所以指针变量的大小取决于地址的大小,而在同一平台上地址的大小是固定不变的。...我们来验证一下: 在32位平台上: 4个字节 64位平台上: 8个字节 所以,我们得出结论: 指针变量的大小在同一平台是是固定的: 指针大小在32位平台是4个字节,64位平台是8

    26410

    认识 size_t 和指针类型的大小

    它是一个与机器相关的 unsigned 整型类型,其大小足以保证存储内存中对象的大小。...总结:size_t的大小并非像很多网上描述的那样,其大小是由系统的位数决定的。size_t的大小是由你生成的程序类型决定的,只是生成的程序类型与系统的类型有一定关系。...然而我们编译的程序一般是32bits的,因此size_t的大小也就变成了4个字节。 2.指针的大小 指针用于存放地址,其大小有机器字长决定,如果是32位机器就是4字节的,如果是64位机器就是8字节的。...如果CPU是x86-64的架构,那么就是64位的CPU。CPU的位数是由其字长决定,字长表示CPU在同一时间中能够处理二进制数的位数叫字长。...正如上面的讨论,如果编译生成的程序不是64位的,那么指针的大小依然是4个字节。

    3.6K20

    解读未知:文本识别算法的突破与实际应用

    解读未知:文本识别算法的突破与实际应用 1.文本识别算法理论 背景介绍 文本识别是OCR(Optical Character Recognition)的一个子任务,其任务为识别一个固定区域的的文本内容...IC15 图片样例(不规则文本) IC13 图片样例(规则文本) 不同的识别算法在对比能力时,往往也在这两大类公开数据集上比较。...在文本识别领域也是如此,将编码后的序列解码时,每一步都选择恰当的context来生成下一个状态,这样有利于得到更准确的结果。...small 0.5 None BiLSTM ctc 中文繁体 rec_en_lite_train.yml CRNN Mobilenet_v3 small 0.5 None BiLSTM ctc 英语(区分大小写...在评估指标时,需要设置Global.checkpoints指向保存的参数文件。

    69620

    html图片自适应div大小_未知宽高的div元素垂直水平居中

    大家好,又见面了,我是你们的朋友全栈君。...NSCharacterEncodingDocumentAttribute:[NSNumber numberWithInt:NSUTF8StringEncoding]} documentAttributes:NULL error:nil]; //设置富文本字的大小...计算出来的 height 正好是排版后的高度大小,是 CGFloat 类型,在是在我们设置UIlabel/Cell 高度时,可能存在四舍五入等,最后存在的一点点误差使得 UILabel 显示不全,可能出现缺少一行...,上下空白太多等情况; 解决方案:为了确保布局按照我们计算的数据来,可以使用ceil函数对计算的 Size 取整,再加1,确保 UILabel按照计算的高度完好的显示出来; 或者使用方法CGRectIntegral...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.9K20

    【C 语言】字符串 一级指针 内存模型 ( 指定大小字符数组 | 未指定大小字符数组 | 指向常量字符串的指针 | 指向堆内存的指针 )

    文章目录 一、字符串 一级指针 内存模型 1、指定大小字符数组 2、未指定大小字符数组 3、指向常量字符串的指针 4、指向堆内存的指针 一、字符串 一级指针 内存模型 ---- #include 大小 5 字节 , 为其赋值时 , 使用了 “abc” 字符串常量 ; 在 全局区 的 常量区 存放 “abc” 字符串常量 ; 使用 “abc” 常量为 数组 赋值 , 注意数组的最后一位是...\0 字符 ; // 栈内存数组 指定大小 char array[5] = "abc"; 2、未指定大小字符数组 在 栈内存 中 , 声明 不指定大小的 字符数组 , 初始化 “123...” 字符串 ; 在 全局区 的 常量区 中 , 存放 “123” 常量字符串 ; 在 栈区 的 array2 数组中 , 存放 “123” 字符串内容 , 注意最后的 \0 字符 , 该数组大小 4...字节 ; // 栈内存数组 不指定大小 char array2[] = "123"; 3、指向常量字符串的指针 在 栈内存 中 , 定义 局部变量 指针 p , 没有为该指针分配内存

    2.4K20

    【DL】训练神经网络时如何确定batch的大小?

    由此,最直观的超参数就是batch的大小——我们可以一次性将整个数据集喂给神经网络,让神经网络利用全部样本来计算迭代时的梯度(即传统的梯度下降法),也可以一次只喂一个样本(即严格意义上的随机梯度下降法,...(每个样本都要平等的跑一遍前向算法)。...,这对于这些靠二阶导数吃饭的算法来说是致命的。...因此,对于二阶优化算法,减小batch换来的收敛速度提升远不如引入大量噪声导致的性能下降,因此在使用二阶优化算法时,往往要采用大batch哦。...另外,听说GPU对2的幂次的batch可以发挥更佳的性能,因此设置成16、32、64、128...时往往要比设置为整10、整100的倍数时表现更优(不过小夕没有验证过,有兴趣的同学可以试验一下~ The

    88710

    【优选算法】Pointer-Slice:双指针的算法切片(下)

    本篇接上一篇双指针算法,继续处理剩下的经典题目 1.有效三角形的个数 ✏️题目描述: ✏️示例: 传送门:有效三角形的个数 题解: 第一步: 一般针对三元的变量,优先想到的是三层 for 循环暴力枚举所有的组合...right--;假设两数之和小于c,那么需要增加和,寻找有符合要求的组合,即left++;和相等时就返回组合,然后继续left++,因为减小和仍然有可能找到符合大于c的组合。...✏️题目描述: ✏️示例: 传送门:查找总价格为目标值的两个商品 题解: 细节问题: 该题是上一题的简化版,显然是使用双指针找符合的组数 唯一不同的是上题要寻找所有符合的情况,该题找到一个符合的即可...,所以还是排序+双指针的方法减小时间复杂度 第二步: 不重 left、right不重复 固定的数不重复 因为此时其余两个数都是不变的,移动到下一个一样的数重复了之前的情况,为了减少不必要的枚举...,当遇到重复的数时两种情况都需要跳过 细节问题: 注意不要在处理重复数的情况时移动越界,要考虑如果都是重复数的情况 代码实现: #include #include

    5510

    【优选算法】Pointer-Slice:双指针的算法切片(上)

    本篇是优选算法之双指针算法,该算法主要用于实现特定的算法逻辑,比如查找、比较、排序、合并等操作,降低时间复杂度,减少空间复杂度,提高程序效率 1.概念解析 什么是双指针算法?...双指针算法使用两个索引来遍历数据结构,可以根据问题的要求,以不同的方式移动,如同向移动、相向移动或快慢不同的速度移动 2.移动零 ✏️题目描述: ✏️示例: 传送门:移动零 题解: 第一步: 有两个索引...vector> #include using namespace std; class Solution { public: void moveZeroes(vector...> using namespace std; class Solution { public: void duplicateZeros(vector& arr) {...n) 尝试减少枚举数量来降低时间复杂度,本题求的是体积,所以我们可以在标记开头和结尾的下标为 left 和 right v 为体积,h 为高度,w 为宽度,可以发现在取两边的数计算宽度时,先固定一个不动

    7910

    【C 语言】二级指针案例 ( 字符串切割 | 返回 自定义二级指针 作为结果 | 每个 一级指针 指向不同大小内存 | 精准分配每个 一级指针 指向的内存大小 )

    文章目录 一、二级指针案例 ( 返回自定义二级指针 | 精准控制内存大小 ) 二、完整代码示例 一、二级指针案例 ( 返回自定义二级指针 | 精准控制内存大小 ) ---- 博客 【C 语言】二级指针案例...= NULL) { // 将 p1 指针 与 p2 指针之间的 字符拷贝出来 // 这就是分割后的字符串 if (...= NULL) { // 将 p1 指针 与 p2 指针之间的 字符拷贝出来 // 这就是分割后的字符串 if (...p1 - p2 > 0) { // 计算精准控制的 一级指针 指向的内存大小 int len = p1 - p2...p1 - p2 > 0) { // 计算精准控制的 一级指针 指向的内存大小 int len = p1 - p2

    1.9K10

    AI算法帮助无人机在未知的杂乱环境中自主导航

    英特尔实验室和墨西哥国立理工学院的科学家们最近研究了一种框架,可以在杂乱的未知环境中实现无人机自主导航。...尖端无人机可以毫不费力地驾驭障碍物环境,但是当面对前所未有的景观,如茂密的树林或迷宫时,则难以自主地到达目的地。...在未知的杂乱环境中进行自主导航是机器人技术中的基本问题之一,应用于搜索和救援,信息收集和工业和民用结构的检查等,尽管机器人平台和环境的某些组合,映射,规划和轨迹生成可以被认为是成熟的领域,但是仍然缺少在一般环境中组合来自所有这些领域的元素用于无人机导航的框架...该团队的算法框架专为配备3D传感器和里程计模块的无人机而设计,包括三个部分:(1)生成从无人机深度传感器获得的测量值之间差异的映射的算法,(2)路径生成模型,考虑视场限制空间被认为是安全的导航,(3)生成稳健运动计划的模型...他们报告说,在其中一项测试中,与基准算法的103.2毫秒和35.5毫秒相比,它实现了3.37毫秒的运动时间,并且其平均映射时间为0.256毫秒,而基准算法为700.7毫秒和2.035毫秒。

    81330
    领券