Sponsored Content
Top Forums Programming Why this const variable is not changing even after applying const_cast? Post 302518211 by royalibrahim on Friday 29th of April 2011 12:13:29 AM
Old 04-29-2011
Quote:
Originally Posted by shamrock
What makes you think it should change a "constant"...i is a constant and the pointer is to a constant which shouldnt change i.
When I access it through a pointer after suppressing const'ness, I could change the value through the pointer, but still 'i' remains the same, (i.e)

Code:
int main() {
    const int i = 10;
    int *p = const_cast <int*> (&i);
    *p = 11;
    cout << *p << "  " << i << endl;  // Ans: 11  10

    *(const_cast<int*>(&i)) = 11;
    cout << i << endl;  // Ans: 10

    *(const_cast<int*>(p)) = 12;
    cout << *p << "  " << i << endl;  // Ans: 12  10
}

I compiled the above code using gcc compiler. What is really confusing me is, where the pointer '*p' is pointing to so that it is printing the value that is not stored in 'i'?
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

IFS changing the variable value

Hi, I have a while read loop that reads files in a directory and process. The files have spaces in between, so I have the IFS=\n to to read the whole line as one file name. The read works fine but I have a problem with another variable that I set in the beginning of the script. The variable... (1 Reply)
Discussion started by: pvar
1 Replies

2. Shell Programming and Scripting

Changing a variable Question

I have a variable: $FILENAME = /XXXX/XXXX/XXXX/file.dat I want to set another variable that will give me this: $FILENAME2=filea.dat So basically i'm chopping up variable $FILENAME. Not sure cut will do this as i'm looking at different directories so the characther length may be... (2 Replies)
Discussion started by: Pablo_beezo
2 Replies

3. Programming

C++ type-casting a member variable in const methods

Is it permitted to type-cast a member variable passed in as a parameter in a member const method .. I am doing something like : in a return-type method () const { variable other = long(member variable) } this other assigned variable is not updating and I wonder if type-casting in such... (1 Reply)
Discussion started by: shriyer123
1 Replies

4. Programming

const_cast confusion

See code below. It appears that i and j inhabit the same address yet hold different values. Can anyone shed light on this? int main() { const int i= 3; int* j = const_cast<int*>(&i); *j = 5; cout << j << endl << &i << endl; cout << *j << endl << i; } (4 Replies)
Discussion started by: StuartH
4 Replies

5. Programming

C++ program is crashing on re-assigning const static member variable using an int pointer

Hi, Can any one tell me why my following program is crashing? #include <iostream> using namespace std; class CA { public: const static int i; }; const int CA::i = 10; int main() { int* pi = const_cast<int*>(&CA::i); *pi = 9; cout << CA::i << endl; } (6 Replies)
Discussion started by: royalibrahim
6 Replies

6. Shell Programming and Scripting

Changing variable name in for loop

Hi All please help if possible. I am a Unix novice. I have a similar question to the one posted by yonderboy at about a year ago. However his solution does not work for me. The pseudo code for my problem is as follows: for fund in 1 2 3 4 if (FTP is successfully) then FILE_SENT_fund... (2 Replies)
Discussion started by: Seether
2 Replies

7. Shell Programming and Scripting

Changing the variable using awk?

Dear all, I have kind of used both the awk/sed command and found them really useful. But at the necessity I am having right now, I need help. Actually, I would like to do the following in file script.sh PATH535="/eos/uscms/store/user/pooja04//analysis2012/535/mc/summer12/002/tt/" ... (2 Replies)
Discussion started by: emily
2 Replies

8. UNIX for Dummies Questions & Answers

Getting input and changing variable?

Hi I am new to scripting and have a function in my .sh script file that outputs a html radio button form weather_forecast_config() { echo "" echo "<html><head><title>Welcome</title></head>" echo "<body>" echo "<h2>Weather Forecast - Change City</h2>" echo "<form name="input"... (5 Replies)
Discussion started by: scriptnewbie
5 Replies

9. UNIX for Dummies Questions & Answers

Changing Path Variable

Blank Blank Blank (11 Replies)
Discussion started by: pvibien
11 Replies

10. Shell Programming and Scripting

Applying sed against a file from a list of values stored in a variable

Hi Forum. I have the following challenge at work that I need to write a script for. I have a file abc.txt with the following contents: 4560123456 4570987654 4580654321 I want to be able to search/replace in abc.txt - the first 4 characters anything starting with 4560 to 7777; 4570... (3 Replies)
Discussion started by: pchang
3 Replies
BN_zero(3)							      OpenSSL								BN_zero(3)

NAME
BN_zero, BN_one, BN_value_one, BN_set_word, BN_get_word - BIGNUM assignment operations LIBRARY
libcrypto, -lcrypto SYNOPSIS
#include <openssl/bn.h> int BN_zero(BIGNUM *a); int BN_one(BIGNUM *a); const BIGNUM *BN_value_one(void); int BN_set_word(BIGNUM *a, unsigned long w); unsigned long BN_get_word(BIGNUM *a); DESCRIPTION
BN_zero(), BN_one() and BN_set_word() set a to the values 0, 1 and w respectively. BN_zero() and BN_one() are macros. BN_value_one() returns a BIGNUM constant of value 1. This constant is useful for use in comparisons and assignment. BN_get_word() returns a, if it can be represented as an unsigned long. RETURN VALUES
BN_get_word() returns the value a, and 0xffffffffL if a cannot be represented as an unsigned long. BN_zero(), BN_one() and BN_set_word() return 1 on success, 0 otherwise. BN_value_one() returns the constant. BUGS
Someone might change the constant. If a BIGNUM is equal to 0xffffffffL it can be represented as an unsigned long but this value is also returned on error. SEE ALSO
openssl_bn(3), BN_bn2bin(3) HISTORY
BN_zero(), BN_one() and BN_set_word() are available in all versions of SSLeay and OpenSSL. BN_value_one() and BN_get_word() were added in SSLeay 0.8. BN_value_one() was changed to return a true const BIGNUM * in OpenSSL 0.9.7. 1.0.1i 2009-07-20 BN_zero(3)
All times are GMT -4. The time now is 10:15 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy