pointer c++
int myvar = 6;
int pointer = &myvar; // adress of myvar
int value = *pointer; // the value the pointer points to: 6
pointer c++
int myvar = 6;
int pointer = &myvar; // adress of myvar
int value = *pointer; // the value the pointer points to: 6
pointers in cpp
#include <iostream>
using std::cout;
int main() {
/*
Some things to keep in mind:
-you shouldn't circumvent the type system if you are creating raw ptrs
and don't need to "type pun" or cast (don't use void ptrs)
-ptr types only reference memory (which are integers), not actual data, thus
they should not be treated as data types
char* is just 1 byte of mem, int* is just 4 bytes of mem, etc
- '*' means that you are creating a pointer which "points" to the mem address
of a variable
- '&', in this case, means "get the mem address of this variable"
*/
void* ptr; // a pointer that doesn't reference a certain size of memory
int* int_ptr; // a pointer that points to data with
// only 4 bytes of memory (on stack)
int a = 5; // allocates 4 bytes of mem and stores "5" there (as a primitive)
ptr = &a; // can only access the memory address of 'a' (not the data there)
int b = 45;
int_ptr = &b; // can access both memory address and data of 'b'
cout << ptr << "n"; // prints mem address of 'a'
/*cout << *ptr << "n"; <- this will error out; a void ptr cannot be
derefrenced */
cout << *(int*)ptr << "n"; // type punning to get around void ptr (extra work)
cout << int_ptr << "n"; // mem address of b
cout << *int_ptr << "n"; // data stored at b
/* -- OUTPUTS -- */
/*
some memory address (arbitrary) which contains 05 00 00 00 as its data
5
some memory address (arbitrary) which contains 2D 00 00 00 as its data
45
*/
return 0; // you only need this if "main" isnt the linker entry point
// you also don't care
// ur also probably wondering why I didn't using namespace std... cherno
}
pointers c++
baz = *foo;
pointer in cpp details
#include <iostream>
using namespace std;
class Demo {
private:
int num;
char ch;
public:
void setMyValues(int num, char ch){
this->num =num;
this->ch=ch;
}
void displayMyValues(){
cout<<num<<endl;
cout<<ch;
}
};
int main(){
Demo obj;
obj.setMyValues(100, 'A');
obj.displayMyValues();
return 0;
}
Copyright © 2021 Codeinu
Forgot your account's password or having trouble logging into your Account? Don't worry, we'll help you to get back your account. Enter your email address and we'll send you a recovery link to reset your password. If you are experiencing problems resetting your password contact us