How to use const_cast in C++

2 Answers

0 votes
#include <iostream>

using std::cout;
using std::endl;

void square_root(const int *n) {
	int *p;

	p = const_cast<int *> (n);

	*p = *n * *n;
}
int main()
{
	int n = 9;

	square_root(&n);

	cout << n << endl;

	return 0;
}


/*
run:

81

*/

 



answered May 30, 2018 by avibootz
0 votes
#include <iostream>

using std::cout;
using std::endl;

int main()
{
	int n = 13;
	
	cout << n << endl;

	const int &ref = n;
	const int *p = &n;

	const_cast<int&>(ref) = 100;
	cout << n << endl;

	*const_cast<int*>(p) = 999;
	cout << n << endl;

	return 0;
}


/*
run:

13
100
999

*/

 



answered May 30, 2018 by avibootz

Related questions

1 answer 170 views
1 answer 163 views
...