zoukankan      html  css  js  c++  java
  • 1、C到C++安全性增强

    1、C语言

    #include <stdio.h>
    
    int main(void)
    {
        const int a = 10; //在C语言里这里不赋值可以编译的过去,但是这里不初始化以后就没办法初始化
        //a = 100; 这里不能改但是下面的方法可以把a的值给改了
        int *p = &a; //如果写成const int *p =&a;拿掉int,const *p ,const修饰的是 *p ;*p就无法改变
    
        *p = 100;
        char *q = (char *)malloc(100);//虽然 char *q = malloc(100);也可以但是不严谨
        printf("a = %d
    ",a);
        return 0;
    }
    //const int a ; int const a; // 相等 因为如果把int去掉都是const  a;
    //int *const p  拿掉int,*const p这样的话修饰的是p,所以p的值不能改变,p指向的可以改变
    //const int *const p;这样就都不能改变。
    

      

     C++

    #include <iostream>
    #include <stdlib.h>
    using namespace std;
    
    int main()
    {
        const int a = 100;//真正的const
                            //如果一开始不初始化会报错
        //a = 200; //会报错
                        //名修栈道,暗度陈仓
    //   int *p = &a; //会报错,类型不匹配要写应该写成const int *p =&a
    //    *p = 10;    //在C语言里这里的a值是可以改变的,但是在C++不行
    
    //    char *q = malloc(100);//在C语言不会报错,C++报错,因为malloc默认是void *类型
        //所以应该写成
        char *q = (char*)malloc(100);
        //cout <<a<< endl;
        return 0;
    }
    

      

  • 相关阅读:
    CentOS 7 将 python版本升级为3.x后产生的各种问题
    CentOS 7.0 Firewall防火墙配置
    CentOS7.2+Python3x+Flask部署标准化配置流程
    CentOS 7 下安装 Nginx
    CentOS7下安装python-pip
    CentOS 7 安装字体
    centos中文目录换成英文目录
    搭建typecho个人博客和主题优化
    迭代器与生成器
    装饰器函数
  • 原文地址:https://www.cnblogs.com/yygsj/p/5472509.html
Copyright © 2011-2022 走看看