Monday

Two or more solutions to code call-by-reference function parameter in C++

Two or more solutions:

//Solution 1: call-by-reference function parameter using 

//            ampersand sign &
void swap_values(int& variable1, int& variable2)
{
    int temp;
    temp = variable1;
    variable1 = variable2;
    variable2 = temp;
}
 

//Solution 2: call-by-reference function parameter using 
//            asterisk sign * or pointer syntax
void swap_values_asterisk(int *variable1, int *variable2)
{
    int temp;
    temp = *variable1;
    *variable1 = *variable2;
    *variable2 = temp;
}


//Solution 3: call-by-reference function parameter using 
//            a standard library function, put inside driver
void swap_values_stdLibraryFunction(int& variable1, int& variable2)
{
    swap(variable1, variable2); //put inside driver
}


//Solution 4: call-by-reference function parameter using array syntax
void swap_values_array(int array1[], int array2[])
{
    int temp;
    temp = array1[0];
    array1[0] = array2[0];
    array2[0] = temp;
}


Driver:

    int a, b;

    a=1;
    b=2;
    swap_values(a, b);
    cout << "a: " << a << ", b: " << b << endl;

    a=1;
    b=2;
    swap_values_asterisk(&a, &b);
    cout << "a: " << a << ", b: " << b << endl;

    a=1;
    b=2;
    swap_values_stdLibraryFunction(a, b);
    cout << "a: " << a << ", b: " << b << endl;

    int array_a[10];
    int array_b[10];
    array_a[0] = 1;
    array_b[0] = 2;
    swap_values_array(array_a, array_b);
    cout << "a: " << array_a[0] << ", b: " << array_b[0] << endl;



Program output:

a: 2, b: 1
a: 2, b: 1
a: 2, b: 1
a: 2, b: 1

C++ using Boost Library: How do I tokenize words from a string in C++?


C++ using Boost Library: How do I tokenize words from a string in C++?

Source Code:

#include <boost/algorithm/string.hpp>

    vector<string> vec_str;

    boost::split(vec_str, "word0 word1 word2", boost::is_space());

    for(size_t i=0; i<vec_str.size(); ++i)
    {
        cout << "vec_str[" << i << "] = " << vec_str[i] << endl;
    }


Output:

vec_str[0] = word0
vec_str[1] = word1
vec_str[2] = word2

If a hater attacked your age and not the goodness of you

Whether young or old, I've always been known what endures. I've known the very idea of people that were all created equal and deserv...