首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏嵌入式随笔

    指针

    指针,也就是指向不可用内存区域的指针。通常对这种指针进行操作的话,将会使程序发生不可预知的错误。 指针与空指针(NULL)不同,空指针在C语言中定义为 define NULL ((void *)0) 可见空指针指向0地址,而指针指向不确定的地方。 指针产生主要有两个原因: 1.指针变量未初始化:任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。 为什么指针会产生错误呢? 产生指针以上面第一个原因居多,可以按照以下方法避免: 定义指针后初始化为NULL; 使用前制定一个可用地址; 引用之前判断是否为NULL; 使用完后赋值为NULL。

    29730编辑于 2022-05-11
  • 来自专栏C/C++基础

    指针

    编码运行环境:VS2017+Debug+Win32 ---- 1.定义 指向非法的内存地址指针叫作指针(Wild Pointer),也叫悬挂指针(Dangling Pointer),意为无法正常使用的指针 2.出现指针的常见情形 2.1使用未初始化的指针 出现指针最典型的情形就是在定义指针变量之后没有对它进行初始化,如下面的程序。 释放后的指针应立即将指针置为NULL,防止产生指针。考察如下程序。 3.如何避免指针的出现 指针有时比较隐蔽,编译器不能发现,为了防止指针带来的危害,开发人员应该注意以下几点。 (1)C++引入了引用机制,如果使用引用可以达到编程目的,就可以不必使用指针。 因为引用在定义的时候,必须初始化,所以可以避免指针的出现。 (2)如果一定要使用指针,那么需要在定义指针变量的同时对它进行初始化操作。定义时将其置位NULL或者指向一个有名变量。

    63110发布于 2018-08-03
  • 来自专栏机器学习、深度学习

    有效感受

    Receptive Field in Deep Convolutional Neural Networks NIPS 2016 本文主要分析了 CNN 网络中的 Receptive Field,发现实际有效的感受 和 理论上的感受 差距比较大,实际有效的感受是一个高斯分布。 上图 理论感受尺寸分别是 11*11, 21*21, 41*41, 81*81 有效感受对应正方形中额白色区域,符合高斯分布 不同激活函数得到的有效感受略有不同 ? ? Subsampling 和 dilated convolution 都可以增加 有效感受范围

    1.4K40发布于 2019-05-26
  • 来自专栏蒋豆芽的宝箱

    Receptive field(感受)

    因此感受的值可以用来大致判断每一层的抽象层次。 3. 感受的计算 ? 因此我们说Conv1的感受是3,Conv2的感受是5. 输入图像的每个单元的感受被定义为1,这应该很好理解,因为每个像素只能看到自己。 ? 对于卷积两个感受为3的上层单元,下一层最大能获得的感受为 3*2=6,但因为有重叠,因此要减去(kernel_size - 1)个重叠部分(取kernel_size大小的区域,按顺序从左到右相邻两个会存在重叠部分 ),而重叠部分的计算方式则为感受减去前面所说的偏移量,这里是2. 理解:第n个卷积层的感受等于前一个卷积层的感受输出再乘以第n卷积层的kernel_size,即第n卷积层要合并多少个,这里算出的是总的量,还要减去之间有重复的量,第n卷积层总共要合并k_n个,那么前后两两相比较

    1.1K20发布于 2020-09-25
  • 来自专栏转载gongluck的CSDN博客

    指针分析

    指针的概念   所谓的指针,就是说指针指向的那块内存,你没有合法操作的权限,也就是指针指向非法的内存空间,这样的指针就叫做指针。 2. 指针产生的原因 (1) 指针变量未初始化         任何指针变量刚被创建时不会被自动置为NULL,它的缺省值是随机的,所以这块内存,所以指针变量在创建时,要么初始化让它指向一块合法的内存,要么置为 pStr所指向的内存块中的值         system("pause");         return 0; } 关键点:上面的程序在运行时可能并不会产生错误,但并不代表这样做是正确的,理解指针的关键 避免产生指针 (1) 初始化时置 NULL (2) 指针指向的内存释放后之后将指针置为空

    1.1K70发布于 2018-03-08
  • 来自专栏C/C++基础

    什么是指针

    函数使用不当 3.避免指针 参考文献 1.定义 指向非法的内存地址指针叫作指针(Wild Pointer),也叫悬挂指针(Dangling Pointer),意为无法正常使用的指针。 2.指针的常见情形 2.1 未初始化的指针 出现指针最典型的情形就是在定义指针变量之后没有对它进行初始化,如下面的程序。 释放后的指针应立即将指针置为 NULL,防止产生指针。考察如下程序。 2.4 realloc 函数使用不当 在 C 语言中,如果使用 realloc 函数不当,也可能会产生指针。 3.避免指针 指针有时比较隐蔽,编译器不能发现,为了防止指针带来的危害,开发人员应该注意以下几点。 (1)C++ 引入了引用机制,如果使用引用可以达到编程目的,就可以不必使用指针。

    1K20编辑于 2022-11-29
  • 来自专栏用户8057608的专栏

    CC++指针

    指针:指针不同于空指针,空指针是指一个指针的值为null,而指针的值并不为null,指针会指向一段实际的内存,只是它指向哪里我们并不知情,或者是它所指向的内存空间已经被释放,所以在实际使用的过程中 ,我们并不能通过指针判空去识别一个指针是否为指针。 避免指针只能靠我们自己养成良好的编程习惯,下面说说哪些情况下会产生指针,以及怎样避免。 1. void func() { int *ptr; // 指针 if (ptr ! void func() { int *ptr = new int[5]; delete []ptr; // 执行完delete后,ptr指针 } 3.指针操作超越了作用域: void

    69520发布于 2020-12-08
  • 来自专栏计算机视觉战队

    简单理解感受

    ---- 以前我的理解就是,感受嘛,其实那就是一个视觉感受区域大小。 对于单层网络来说,下一层的一个像素点其感受大小也就是卷积层滤波器的大小,想想其实很明了的就理解了,但对于多层,那就有一点点(也就那么一点点复杂而已)! 首先可以简单知道(前面也提及到了),第一层卷积层的输出特征图像素的感受的大小就等于等于卷积层滤波器的大小;然后其继续进行前向传播,这样的话,后面深层的卷积层感受大小就和之前所有网络层的滤波器大小和步长有关系了 查资料知,感受大小的计算采用从深层到前层的方式计算, 即先计算最深层在前一层上的感受,然后逐渐反馈到第一层,公式具体记如下: ? 其中 ? 为得的感受大小, ? 为最后层在前一层的感受大小, ? 为卷积层滤波器大小。 通过这样反复迭代就可以得到每一层的感受。具体代码我看网上也有,我就顺便附一下吧,原件请在链接里下载,谢谢!

    99140发布于 2018-04-17
  • 来自专栏计算机视觉战队

    深度学习——感受

    以前我的理解就是,感受嘛,其实那就是一个视觉感受区域大小。 对于单层网络来说,下一层的一个像素点其感受大小也就是卷积层滤波器的大小,想想其实很明了的就理解了,但对于多层,那就有一点点(也就那么一点点复杂而已)! 首先可以简单知道(前面也提及到了),第一层卷积层的输出特征图像素的感受的大小就等于等于卷积层滤波器的大小;然后其继续进行前向传播,这样的话,后面深层的卷积层感受大小就和之前所有网络层的滤波器大小和步长有关系了 查资料知,感受大小的计算采用从深层到前层的方式计算, 即先计算最深层在前一层上的感受,然后逐渐反馈到第一层,公式具体记如下: ? 其中 ? 为得的感受大小, ? 为最后层在前一层的感受大小, ? 为卷积层滤波器大小。 通过这样反复迭代就可以得到每一层的感受。具体代码我看网上也有,我就顺便附一下吧,原件请在链接里下载,谢谢!

    1.1K70发布于 2018-04-18
  • 来自专栏数据冰山

    草莓和卖机票一样吗?

    假设我们在菜市场卖草莓。水灵灵的鲜草莓拉到摊上,最多三天就不新鲜了。头一天,挺着,非60块一斤不卖;第二天,有点含糊,是50块一斤悠着走还是40块一斤快点走?要不要留点好的还卖60? 收益管理帮的就是像卖草莓一样的操心生意。 这种生意的特点是: 产品或服务有时效,过期作废 市场需求有很强的不确定性 不同客户对价格的敏感度不同 你看,像草莓的产品和服务还真不少,比如机票、酒店、短租车、时装、月饼、大闸蟹、货车车皮等等。 我们有土豪版和平民版两种舱位: Y舱:$1000,随时订票,无需在目的地周六过夜,免费退票 M舱:$600,提前7天以上订票,无需在目的地周六过夜,退票收费 现在突然来了一个电话要订M舱位,我们就像卖草莓一样纠结起来

    1.8K40发布于 2018-04-12
  • 来自专栏韩曙亮的移动开发专栏

    【C 语言】指针数据类型 ( 指针 | 避免指针推荐方案 )

    文章目录 一、指针 二、避免指针推荐方案 一、指针 ---- 参考 【C 语言】内存管理 ( 动态内存分配 | 栈 | 堆 | 静态存储区 | 内存布局 | 指针 ) 四. 指针 ( 程序BUG根源 ) 博客章节 ; 指针产生原因 : 指针变量 指向的 内存空间 被释放 , 但是 指针变量 还保存着一个地址值 , 此时不能随便修改该地址值 中的数据 ; 指针变量 与 指针指向的内存空间数据值 是不同的概念 ; 二、避免指针推荐方案 ---- 避免指针方法 : 定义指针变量 置空 : 声明 指针变量 时 , 为其设置初始值 NULL ; char *p = NULL; p = (char

    38420编辑于 2023-03-29
  • 来自专栏企鹅号快讯

    NLP入门:为什么草莓和西瓜更亲?

    说了这么多,都还只是“纸上谈兵”,接下来给大家看看百度AI是怎么超越二维平面,在中文中实现海陆空“立体打击”的~ 呆瓜和草莓 哪个跟西瓜更亲? 呆瓜和西瓜都有一个“瓜”字,那是不是它们两个更相近呢? 其实不然,从语义上来理解,同属果蔬的西瓜和草莓才更亲,也就是语义相似度更接近。 不过,要让计算机学会透过现象看本质,好像很难。但换个思路,把词汇都“向量化”,再去计算相似度,问题几乎就迎刃而解了。 用以分析呆瓜和草莓,哪个跟西瓜更相似。 6、文本语义相似度(Text Semantic Similarity) 依托全网海量数据和深度神经网络技术,实现文本间的语义相似度的计算。

    1.3K130发布于 2018-03-05
  • 来自专栏C语言中文社区

    指针 VS 悬空指针

    正文 C语言中指针和悬空指针都是指向无效内存区域的指针,但它们的成因和危害不同。今天我们一起了解一下这两者的区别以及避免方法: 1. 指针 定义 指针是指未初始化或指向未知内存地址的指针。 for (int i = ; i < ; i++) {     *p++ = i; // 超出数组范围后,p 成为指针 } 危害 不可预测的行为:指针可能指向任意内存地址,访问它可能导致程序崩溃、 难以调试:指针的随机性使得错误难以复现和定位。 避免方法 初始化指针:声明指针时立即赋值为 NULL 或有效地址。 指针 vs 悬空指针 特性 指针 悬空指针 成因 未初始化、越界、未置空 内存释放后未置空 指向地址 随机(可能从未有效过) 曾经有效,但已被释放 危害 更严重(可能指向任意内存) 严重(访问已释放的内存 通过良好的编程习惯和严格的代码检查,可以大幅减少指针和悬空指针带来的风险。

    38500编辑于 2025-07-03
  • 来自专栏【C】系列

    【C语言】指针(指针)

    目录 1:什么是指针? 2:如何规避指针 1.1:指针变量的初始化 2.2:指针越界访问 3.3:指针指向的空间如果我们还回去的话,就把指针指针置为NULL  4.4:指针使用之前检查有效性 1:什么是指针? 指针:就是指针指向的位置是不可知(随机性,初始化,不正确,没有明确限制),指针变量在定义时如果未初始化,其值是随机的,指针变量的值是别的变量的地址,意味着指针指向了一个地址是不确定的变量,此时去解引用就是去访问了一个不确定的地址 指针越界也会导致指针问题,这里解释下:就是当你指针指向的范围超过数组名范围时,那么那个指针就是指针了。 未初始化的指针变量就是“”指针,它指向的是无效的地址。 有些书上说:“如果指针变量不初始化,那么它可能指向内存中的任何一个存储单元,这样就会很危险。

    3.5K20编辑于 2022-12-12
  • 来自专栏acoolgiser_zhuanlan

    c++三种指针 指针的概率即产生原因

    原文链接:https://blog.csdn.net/a2796749/article/details/46897211 c++三种指针 指针,也就是指向不可用内存区域的指针 如果对指针进行操作,将会使程序发生不可预知的错误,甚至可能直接引起崩溃。 指针不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。 但是指针是很危险的,也具有很强的掩蔽性,if语句对它不起作用。 造成指针的常见原因有三种: 1、指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针。 把未初始化的指针自动初始化为0xcccccccc或0xcdcdcdcd,而不是就让取随机值,那是为了方便我们调试程序,使我们能够一眼就能确定我们使用了未初始化的指针。

    2K10发布于 2019-08-31
  • 来自专栏SIGAI学习与实践平台

    关于感受的总结

    定义 感受被定义为卷积神经网络特征所能看到输入图像的区域,换句话说特征输出受感受区域内的像素点的影响。 感受示例[1] 计算方式 ? 其中: RF表示特征感受大小, l表示层数, ? 表示输入层, ? 。 第一层特征,感受为3 ? ? 第1层感受[1] 第二层特征,感受为5 ? ? 第2层感受[1] 第三层特征,感受为7 ? ? 第3层感受[1] 如果有dilated conv的话,计算公式 ? 更上一层楼 上文所述的是理论感受,而特征的有效感受(实际起作用的感受)实际上是远小于理论感受的,如下图所示。具体数学分析比较复杂,不再赘述,感兴趣的话可以参考论文[2]。 ? 这个时候感受的大小是一个重要的考虑因素。 放置anchor层的特征感受应该跟anchor大小相匹配,感受比anchor大太多不好,小太多也不好。

    2.4K31发布于 2018-08-07
  • 来自专栏一位计算机小白的学习日记

    C:指针介绍(定义、危害、规避)以及指针与空指针的区分

    本篇文章将带来指针的介绍,指针与空指针的区分,以及assert断言 1、指针 什么是指针呢? 由于指针p未初始化,所以*p就属于非法访问,p就是指针。 1.2 指针的危害 使用指针可能导致程序崩溃、数据损坏、系统不稳定等严重问题。 ,指针你可以把它比作一条野狗,如果不拴起来会有很大的危害(未初始化),而拴起来后只要不去招惹它就不会出现问题(给指针赋上NULL ,且不使用它) 2. 避免返回局部变量的地址 局部变量在函数结束后其内存会被释放,如果返回其地址,就会得到一个指针。如上述指针成因的第三种其情况。

    82721编辑于 2024-10-21
  • 来自专栏从流域到海域

    CNN如何计算感受大小

    感受的定义是,对于某层输出特征图的某点,在卷积神经网络的原始输入数据上能影响到这个点的取值的区域。 以二维卷积神经网络为例,如果网络的原始输入特征图的尺寸为 L_w\times L_h ,记网络第 i 层节点的感受大小为 R_e^{(i)} ,其中 e\in\{w,h\} 分别代表宽和高两个方向,则可按照式 对于第0层,即原始输入层,有: \begin{cases} R^{(0)}=1\\ s_e^{0}=1 \end{cases} (1-2) 若第 i 层为激活层、批归一化层等,则其步长为1,感受大小为 : R_e^{(i)}=R_e^{(i-1)} (1-3) 若第 i 层为全连接层,则其感受的输入为整个输入数据全域,即: R_e^{(i)}=L_e (1-4)

    48520编辑于 2023-10-12
  • 来自专栏li_wait

    【C语言】如何规避指针

    一、概念: 指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的) 二、指针成因: 2.1. 指针未初始化 1. int *p = &arr[0]; int i = 0; for(i=0; i<=11; i++) { //当指针指向的范围超出数组arr的范围时,p就是指针 100; return &n; } int main() { int*p = test(); printf("%d\n", *p); return 0; } 三、如何规避指针 我们可以把指针想象成野狗,野狗放任不管是非常危险的,所以我们可以找⼀棵树把野狗拴起来,就相对安全了,给指针变量及时赋值为NULL,其实就类似把野狗栓前来,就是把指针暂时管理起来。 = NULL) //判断 { //... } return 0; } 3.4 避免返回局部变量的地址 如造成指针的第3个例子,不要返回局部变量的地址。

    37910编辑于 2024-10-23
  • 来自专栏JNing的专栏

    深度学习: 感受 (receptive field)

    Introduction 感受:卷积神经网络每一层输出的特征图 (feature map) 上的像素点在原始图像上映射的区域大小。 ? Size 多层叠加 的 小卷积核 相比于 大卷积核 的: 优势: 可取得与大卷积核同等规模的感受; 加深了网络深度 —> 增强了网络容量和网络复杂度; 减少了模型参数的个数。 Compute 感受的计算 主要与 卷积层 和 池化层 的 窗口大小 (size)、移动步长 (stride) 以及 填充 (padding) 有关。 例如,假设在 stride=1,padding=0 的相同前提下,且每层卷积的输出channel都为1: 卷积核方案 三个 3×3×1 的小卷积核叠加 一个 7×7×1 的大卷积核 感受大小 7×7× 浮点数计算次数 [(3×3×1)×(5×5×1)+(3×3×1)×(3×3×1)+(3×3×1)×(1×1×1)]×2=630 [(7×7×1)×(1×1×1)]×2=98 Summary 在相同感受的情况下

    2.3K30发布于 2018-09-27
领券