如何保护变量的值不被修改

被const修饰的变量无法被修改,但是如果取地址就可以做到修改。

	const int num = 10;
	int* p = #
	*p = 20;

那么有没有方法可以让取地址都无法修改呢,暂时没有想到

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 并不是,形式参数仍然有其适用的场景。例如,当函数需要修改形参的时,形式参数就比引用形式参数更加适合。此外,形式参数也可以避免由于误操作而修改了实参的。因此,在选择形式参数时,需要根据具体情况进行选择。 ### 回答2: 不是的。虽然引用形式参数在某些方面具有一定的优势,但并不意味着形式参数从此不再需要。引用形式参数确实能够保护对应实参变量不被修改,即在函数中对引用形式参数的修改不会影响到原始实参的。这在某些情况下是很有用的,特别是当我们需要在函数内部对实参进行修改,但又不希望影响到原始实参的时。 然而,形式参数也有其自身的优势和用途。相较于引用形式参数,形式参数在函数调用过程中会进行的拷贝,这对于函数内部对参数的修改是安全的,因为它不会影响到原始实参的。此外,形式参数对于一些原始数据类型或者较小的对象类型来说,效率更高,因为不需要进行引用的解引用等操作,而且在多线程环境下也更安全。 因此,引用形式参数和形式参数在不同的情况下有不同的应用场景。对于需要在函数内部修改参数并且避免对原始实参造成影响的情况,引用形式参数是更好的选择。而对于不需要修改参数或者参数为简单的数据类型的情况,形式参数更加适合。所以,形式参数在编程中仍然有其重要的作用,并不会被完全取代。 ### 回答3: 引用形式参数的确可以保护对应实参变量不被修改,并且在函数调用时不会产生实参的拷贝,从而提高了程序的效率。但这并不意味着形式参数就完全不需要了。 形式参数仍然具有它们自己的优点和应用场景。首先,形式参数传递的是实参的拷贝,这意味着在函数内部对形参的修改不会影响到实参的。这种保护实参的特性在某些情况下是非常重要的,特别是当函数需要对实参进行修改时,使用形式参数能够保留原实参的。此外,在多线程编程中,形式参数的使用能够增加程序的线程安全性,因为每个线程都将拥有一个独立的形参副本,互不干扰。 引用形式参数和形式参数各有其适用的场景,选择使用哪种形式参数应该根据具体的需求来决定。如果你希望在函数内部能够修改实参的或者需要提高程序的效率,那么使用引用形式参数是一个不错的选择。如果你需要保护实参的不被修改或者希望增加程序的线程安全性,那么形式参数则更适合。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值