Returning a pointer : Pointer Primitive « Pointer « C++






Returning a pointer

  
#include <iostream>
#include <string>
#include <vector>

using namespace std;

//returns a pointer to a string element
string* ptrToElement(vector<string>* const pVec, int i);

int main()
{
    vector<string> v;
    v.push_back("A");
    v.push_back("B");
    v.push_back("C");

     cout << *(ptrToElement(&v, 0)) << endl;

     string* pStr = ptrToElement(&v, 1);
     cout << *pStr << endl;
    
     string str = *(ptrToElement(&v, 2));  
     cout << str << endl;
    
     *pStr = "Healing Potion";
     cout << v[1] << endl;
    
    return 0;
}

string* ptrToElement(vector<string>* const pVec, int i)
{
    //returns address of the string in position i of vector that pVec points to
    return &((*pVec)[i]);  
}
  
    
  








Related examples in the same category

1.Decrementing a Pointer for int valueDecrementing a Pointer for int value
2.Using a reference parameter for class typeUsing a reference parameter for class type
3.Assign the public object member address to a pointerAssign the public object member address to a pointer
4.Pointers to Class MembersPointers to Class Members
5.Pointer as a VariablePointer as a Variable
6.Declares a pointer and then outputs its value without first assigning
7.Null PointersNull Pointers
8.How to use the address operator to assign the address of a variable to a pointer
9.Indirection Operator and DereferencingIndirection Operator and Dereferencing
10.The actual data type of the value of all pointers is the sameThe actual data type of the value of all pointers is the same
11.Prints the values and addresses of variables.Prints the values and addresses of variables.