C与C++在const用法上的区别
作者:网络转载 发布时间:[ 2015/4/29 16:15:41 ] 推荐标签:C++ 软件开发 语法
首先,C和C++在大体结构上不同,却在语法上相同。 所以在使用的时候,我们会时常遇到一些莫名其妙的问题,觉得语法上是正确的,但是编译的时候却出现一个红色的 error! 比如我遇到的这个有意思的问题。
1. 看到一段代码,觉得很有意思:
1 #pragma warning(disable : 4090)
2
3 #include<stdio.h>
4
5 int main(int argv, char args []) {
6
7 const int var = 4;
8 int *p = &var;
9 *p = 1;
10 printf("%d
",var);
11 getchar();
12 }
答案很定不用说: 1 原因也很简单: C弱类型语言,C++是强类型语言。 p指针指向了var的地址,并将var的值改变!
但是,我们再看看,这个两个代码:
1 #include<iostream>
2
3 using namespace std;
4
5 int main(int args , char argv[]) {
6
7 const int var = 10;
8 std::cout << "var =" << var << std::endl;
9 // int * p= &var; --不能转换,会报错!
10 //可以使用强制转换
11 int *p = (int *)&var;
12 *p = 3;
13 std::cout << "*p =" << *p << std::endl;
14 int num[var];
15
16 int i = 0;
17 //初始化
18 for (auto data : num) {
19 data =++i;
20 std::cout<<"num["<<i-1<<"] =" << data << std::endl;
21 }
22 getchar();
23 return 0;
24 }
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11