Pointers
Pointer Parameters
Passing a pointer lets a function update the caller's object.
Pointer Parameters
pointer_parameters.cpp
#include <iostream>
void addBonus(int* score, int bonus) {
if (score != nullptr) {
*score += bonus;
}
}
int main() {
int score = ;
int bonus = ;
addBonus(&score, bonus);
std::cout << "bonus=" << bonus << std::endl;
std::cout << "score=" << score << std::endl;
return 0;
}
#include <iostream>
void addBonus(int* score, int bonus) {
if (score != nullptr) {
*score += bonus;
}
}
int main() {
int score = ;
int bonus = ;
addBonus(&score, bonus);
std::cout << "bonus=" << bonus << std::endl;
std::cout << "score=" << score << std::endl;
return 0;
}
#include <iostream>
void addBonus(int* score, int bonus) {
if (score != nullptr) {
*score += bonus;
}
}
int main() {
int score = ;
int bonus = ;
addBonus(&score, bonus);
std::cout << "bonus=" << bonus << std::endl;
std::cout << "score=" << score << std::endl;
return 0;
}
#include <iostream>
void addBonus(int* score, int bonus) {
if (score != nullptr) {
*score += bonus;
}
}
int main() {
int score = ;
int bonus = ;
addBonus(&score, bonus);
std::cout << "bonus=" << bonus << std::endl;
std::cout << "score=" << score << std::endl;
return 0;
}
#include <iostream>
void addBonus(int* score, int bonus) {
if (score != nullptr) {
*score += bonus;
}
}
int main() {
int score = ;
int bonus = ;
addBonus(&score, bonus);
std::cout << "bonus=" << bonus << std::endl;
std::cout << "score=" << score << std::endl;
return 0;
}
#include <iostream>
void addBonus(int* score, int bonus) {
if (score != nullptr) {
*score += bonus;
}
}
int main() {
int score = ;
int bonus = ;
addBonus(&score, bonus);
std::cout << "bonus=" << bonus << std::endl;
std::cout << "score=" << score << std::endl;
return 0;
}
#include <iostream>
void addBonus(int* score, int bonus) {
if (score != nullptr) {
*score += bonus;
}
}
int main() {
int score = ;
int bonus = ;
addBonus(&score, bonus);
std::cout << "bonus=" << bonus << std::endl;
std::cout << "score=" << score << std::endl;
return 0;
}
#include <iostream>
void addBonus(int* score, int bonus) {
if (score != nullptr) {
*score += bonus;
}
}
int main() {
int score = ;
int bonus = ;
addBonus(&score, bonus);
std::cout << "bonus=" << bonus << std::endl;
std::cout << "score=" << score << std::endl;
return 0;
}
#include <iostream>
void addBonus(int* score, int bonus) {
if (score != nullptr) {
*score += bonus;
}
}
int main() {
int score = ;
int bonus = ;
addBonus(&score, bonus);
std::cout << "bonus=" << bonus << std::endl;
std::cout << "score=" << score << std::endl;
return 0;
}
pointer parameter
A pointer parameter can be checked for `nullptr` and then dereferenced to update the target object.