디폴트 파라미터 예시
#include <iostream>
using namespace std;
class Foo
{
public:
string nName;
public:
Foo(string s="NONE"){
nName=s;
}
void SetName(string name="Jon")
{
nName = std::move(name);
}
};
int main()
{
cout << "---------------------" << endl;
Foo* ba = new Foo;
cout<<ba->nName<<endl; // NONE
cout << "---------------------" << endl;
Foo baba;
cout<<baba.nName<<endl; // NONE
baba.SetName();
cout<<baba.nName<<endl; // Jon
}
함수 포인터 예시
#include <iostream>
#include <array>
using namespace std;
bool isEven(const int &number) {
return number % 2 == 0;
}
bool isOdd(const int &number) {
return number % 2 == 1;
}
void printNumbers(const array<int, 10> &my_array, bool(*check_fcn)(const int &)) {
for (auto element : my_array) {
if (check_fcn(element) == true) {
cout << element << " "; // 숫자 사이에 공백 추가
}
}
cout << endl;
}
int main() {
array<int, 10> my_array{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
printNumbers(my_array, isEven); // 짝수인 원소만 출력
printNumbers(my_array, isOdd); // 홀수인 원소만 출력
}
'언어 정리 > C++_개념_lib' 카테고리의 다른 글
std::move() (1) | 2024.01.22 |
---|---|
인수 전달 (0) | 2024.01.16 |
vector (0) | 2024.01.16 |
for-each (0) | 2024.01.16 |
enum, 구조체 (0) | 2024.01.16 |
댓글