π 곡λΆνλ μ§μ§μνμΉ΄λ μ²μμ΄μ§?
[κ°μ²΄ ν¬μΈν°μ κ°μ²΄ λ°°μ΄, κ°μ²΄μ λμ μμ±] this ν¬μΈν°μ string λ¬Έμμ΄ μ¬μ© λ³Έλ¬Έ
[κ°μ²΄ ν¬μΈν°μ κ°μ²΄ λ°°μ΄, κ°μ²΄μ λμ μμ±] this ν¬μΈν°μ string λ¬Έμμ΄ μ¬μ©
μ§μ§μνμΉ΄ 2024. 2. 22. 00:43<ν©κΈ°ν λμ λͺ ν C++ Programming μμ μ μ°Έκ³ ν΄μ μμ±νμμ΅λλ€ :-)>
π this ν¬μΈν°
βοΈ this λ κ°μ²΄ μμ μ λν ν¬μΈν°
ν΄λμ€μ λ©€λ² ν¨μ λ΄μμλ§ μ¬μ©λλ€
this λ μ μ λ³μλ μλκ³ ν¨μ λ΄μ μ μΈλ μ§μ λ³μλ μλλ€
this λ κ°μ²΄μ λ©€λ² ν¨μκ° νΈμΆλ λ, μ»΄νμΌλ¬μ μν΄ λ³΄μ΄μ§ μκ² μ λ¬λλ κ°μ²΄μ λν μ£Όμμ΄λ€
βοΈ this μ κ°μ²΄
this λ κ°μ²΄ μμ μ λν ν¬μΈν°
μμ±μ ν¨μμ κ²½μ° this-> λ μλ΅ κ°λ₯
βοΈthis μ νμν κ²½μ°
1) λ©€λ² λ³μμ μ΄λ¦κ³Ό λμΌν μ΄λ¦μΌλ‘ λ§€κ° λ³μ μ΄λ¦μ μ§κ³ μ νλ κ²½μ°
λ§€κ° λ³μμ μ΄λ¦μ μμ€ νλ‘κ·Έλ¨μ κ°λ ₯ν μ£Όμ μν μ΄λ€
2) κ°μ²΄μ λ©€λ² ν¨μμμ κ°μ²΄ μμ μ μ£Όμλ₯Ό 리ν΄ν λ νμνλ€
μ°μ°μ μ€λ³΅μ ꡬνν λ, λ§μ΄ λ°μνλ€
βοΈthis μ μ μ½ μ‘°κ±΄
this λ ν΄λμ€μ λ©€λ² ν¨μμμλ§ μ¬μ©ν μ μλ€
λ©€λ² ν¨μλΌλ μ μ λ©€λ² ν¨μλ this λ₯Ό μ¬μ©ν μ μλ€
μ μ λ©€λ² ν¨μλ κ°μ²΄κ° μμ±λκΈ° μ μ νΈμΆλ μ μμΌλ©°, μ μ λ©€λ² ν¨μκ° μ€νλλ μμ μμ νμ¬ κ°μ²΄λ μ‘΄μ¬νμ§ μμ μ μκΈ° λλ¬Έμ΄λ€
βοΈμ»΄νμΌλ¬λ this λ₯Ό μ΄λ»κ² μ²λ¦¬νλκ°
this λ μ»΄νμΌλ¬μ μν΄ νμνλ λ³μμ΄λ€
this λ μ»΄νμΌλ¬μ μν΄ λ¬΅μμ μΌλ‘ μ½μ
λ λ§€κ° λ³μμ΄λ€
μ»΄νμΌλ¬λ κ°μ²΄μ λ©€λ² ν¨μλ₯Ό νΈμΆνλ λ¬Έμ₯μ λ³ννμ¬, ν΄λΉ κ°μ²΄μ μ£Όμκ° λ§€κ° λ³μλ‘ μ λ¬λλλ‘ λ§λ λ€
π string ν΄λμ€λ₯Ό μ΄μ©ν λ¬Έμμ΄ μ¬μ©
1) C-μ€νΈλ§
'\0' λ‘ λλλ λ¬Έμ λ°°μ΄μ λ¬Έμμ΄λ‘ μ·¨κΈνλ λ°©λ²
μ΄κΈ°μ ν λΉλ°μ λ©λͺ¨λ¦¬ ν¬κΈ° μ΄μμ λ¬Έμμ΄μ μ μ₯ν μ μκΈ° λλ¬Έμ μ΄λ €μμ΄ μμ
2) string
C++ νμ€ λΌμ΄λΈλ¬λ¦¬μμ μ 곡νλ ν΄λμ€
λ¬Έμμ΄μ μ μ₯νλ λ²νΌμ ν¨κ», λ¬Έμμ΄μ λ€λ£¨λ ν¨μμ μ°μ°μλ€μ λ©€λ²λ‘ κ°μ§κ³ μμ
λ¬Έμμ΄μ ν¬κΈ°μ λ§μΆμ΄ μ€μ€λ‘ λ©λͺ¨λ¦¬ ν¬κΈ°λ₯Ό μ‘°μ νλ―λ‘ νΈλ¦¬νλ€
str μ μ μ₯λλ λ¬Έμμ΄μ ν¬κΈ°λ₯Ό μΌλ €νμ§ μμλ λλ€
βοΈ string κ°μ²΄ μμ± λ° μΆλ ₯
string str;
string address("κ²½κΈ°λ μν₯μ");
string copyAddress(address);
βοΈ string κ°μ²΄κ° κ°μ§ λ¬Έμμ΄ μΆλ ₯
cout << str;
βοΈ string κ°μ²΄μ λμ μμ±
new μ delete μ°μ°μλ₯Ό μ΄μ©νμ¬ λμ μΌλ‘ μμ±νκ³ λ°νν μ μλ€
string *p = new string("C++");
p->append("great");
delete p;
// string ν΄λμ€λ₯Ό μ΄μ©ν λ¬Έμμ΄ μμ± λ° μΆλ ₯
#include <iostream>
#include <string>
using namespace std;
int main()
{
// μ€νΈλ§ μμ±
string str;
string address("κ²½κΈ°λ μν₯μ");
string copyAdress(address);
char text[] = {'L', 'O', 'V', 'E', '\0'};
string title(text);
// μ€νΈλ§ μΆλ ₯
cout << str << endl;
cout << address << endl;
cout << copyAdress << endl;
cout << title << endl;
}
/*
κ²½κΈ°λ μν₯μ
κ²½κΈ°λ μν₯μ
LOVE
- this λ κ°μ²΄ μμ μ λν ν¬μΈν°
ν΄λμ€μ λ©€λ² ν¨μ λ΄μμλ§ μ¬μ©λλ€
this λ μ μ λ³μλ μλκ³ ν¨μ λ΄μ μ μΈλ μ§μ λ³μλ μλλ€
this λ κ°μ²΄μ λ©€λ² ν¨μκ° νΈμΆλ λ, μ»΄νμΌλ¬μ μν΄ λ³΄μ΄μ§ μκ² μ λ¬λλ κ°μ²΄μ λν μ£Όμμ΄λ€
- this μ κ°μ²΄
this λ κ°μ²΄ μμ μ λν ν¬μΈν°
μμ±μ ν¨μμ κ²½μ° this-> λ μλ΅ κ°λ₯
this μ νμν κ²½μ°
1) λ©€λ² λ³μμ μ΄λ¦κ³Ό λμΌν μ΄λ¦μΌλ‘ λ§€κ° λ³μ μ΄λ¦μ μ§κ³ μ νλ κ²½μ°
λ§€κ° λ³μμ μ΄λ¦μ μμ€ νλ‘κ·Έλ¨μ κ°λ ₯ν μ£Όμ μν μ΄λ€
2) κ°μ²΄μ λ©€λ² ν¨μμμ κ°μ²΄ μμ μ μ£Όμλ₯Ό 리ν΄ν λ νμνλ€
μ°μ°μ μ€λ³΅μ ꡬνν λ, λ§μ΄ λ°μνλ€
- this μ μ μ½ μ‘°κ±΄
this λ ν΄λμ€μ λ©€λ² ν¨μμμλ§ μ¬μ©ν μ μλ€
λ©€λ² ν¨μλΌλ μ μ λ©€λ² ν¨μλ this λ₯Ό μ¬μ©ν μ μλ€
μ μ λ©€λ² ν¨μλ κ°μ²΄κ° μμ±λκΈ° μ μ νΈμΆλ μ μμΌλ©°, μ μ λ©€λ² ν¨μκ° μ€νλλ μμ μμ νμ¬ κ°μ²΄λ μ‘΄μ¬νμ§ μμ μ μκΈ° λλ¬Έμ΄λ€
- μ»΄νμΌλ¬λ this λ₯Ό μ΄λ»κ² μ²λ¦¬νλκ°
this λ μ»΄νμΌλ¬μ μν΄ νμνλ λ³μμ΄λ€
this λ μ»΄νμΌλ¬μ μν΄ λ¬΅μμ μΌλ‘ μ½μ
λ λ§€κ° λ³μμ΄λ€
μ»΄νμΌλ¬λ κ°μ²΄μ λ©€λ² ν¨μλ₯Ό νΈμΆνλ λ¬Έμ₯μ λ³ννμ¬, ν΄λΉ κ°μ²΄μ μ£Όμκ° λ§€κ° λ³μλ‘ μ λ¬λλλ‘ λ§λ λ€
- string ν΄λμ€λ₯Ό μ΄μ©ν λ¬Έμμ΄ μ¬μ©
1) C-μ€νΈλ§
'\0' λ‘ λλλ λ¬Έμ λ°°μ΄μ λ¬Έμμ΄λ‘ μ·¨κΈνλ λ°©λ²
μ΄κΈ°μ ν λΉλ°μ λ©λͺ¨λ¦¬ ν¬κΈ° μ΄μμ λ¬Έμμ΄μ μ μ₯ν μ μκΈ° λλ¬Έμ μ΄λ €μμ΄ μμ
2) string
C++ νμ€ λΌμ΄λΈλ¬λ¦¬μμ μ 곡νλ ν΄λμ€
λ¬Έμμ΄μ μ μ₯νλ λ²νΌμ ν¨κ», λ¬Έμμ΄μ λ€λ£¨λ ν¨μμ μ°μ°μλ€μ λ©€λ²λ‘ κ°μ§κ³ μμ
λ¬Έμμ΄μ ν¬κΈ°μ λ§μΆμ΄ μ€μ€λ‘ λ©λͺ¨λ¦¬ ν¬κΈ°λ₯Ό μ‘°μ νλ―λ‘ νΈλ¦¬νλ€
str μ μ μ₯λλ λ¬Έμμ΄μ ν¬κΈ°λ₯Ό μΌλ €νμ§ μμλ λλ€
- string κ°μ²΄ μμ± λ° μΆλ ₯
string str;
string address("κ²½κΈ°λ μν₯μ");
string copyAddress(address);
- string κ°μ²΄κ° κ°μ§ λ¬Έμμ΄ μΆλ ₯
cout << str;
- string κ°μ²΄μ λμ μμ±
new μ delete μ°μ°μλ₯Ό μ΄μ©νμ¬ λμ μΌλ‘ μμ±νκ³ λ°νν μ μλ€
string *p = new string("C++");
p->append("great");
delete p;
*/
π string κ°μ²΄μ λ¬Έμμ΄ μ
λ ₯
cin >> μ μ΄μ©νμ¬ ν€λ³΄λλ‘λΆν° string κ°μ²΄μ λ¬Έμμ΄μ μ
λ ₯λ°κΈ°
곡백 λ¬Έμκ° μ
λ ₯λ©΄ κ·Έ μκΉμ§ νλμ λ¬Έμμ΄λ‘ λ€λ£¨κΈ° λλ¬Έμ 곡백 λ¬Έμλ₯Ό ν¬ν¨νλ λ¬Έμμ΄ μ½μ΄λ€μΌ μ μμ
βοΈ getline() μ μ λ³μλ‘ κΈ΄ λΌμΈμ λ¬Έμμ΄ μ λ ₯λ°κΈ°
// '\n' μ λ§λ λκΉμ§ ν€λ³΄λ (cin) λ‘λΆν° λ¬Έμμ΄ μ½μ΄λ€μ΄ μ μ₯νκΈ°
string name;
getline(cin, name, '\n');
// string λ°°μ΄κ³Ό λ¬Έμμ΄ ν€ μ
λ ₯ μμ©
#include <iostream>
#include <string>
using namespace std;
int main()
{
string names[5];
for (int i = 0; i < 5; i++)
{
cout << "μ΄λ¦ >> ";
getline(cin, names[i], '\n');
}
string latter = names[0];
for (int i = 1; i < 5; i++)
{
if (latter < names[i])
{
latter = names[i];
}
}
cout << "μ¬μ μμ κ°μ₯ λ€μ λμ€λ λ¬Έμμ΄μ " << latter << endl;
}
/*
μ΄λ¦ >> kim nam jun
μ΄λ¦ >> lee ga eun
μ΄λ¦ >> lee a rin
μ΄λ¦ >> tae hoon
μ΄λ¦ >> jung kook
μ¬μ μμ κ°μ₯ λ€μ λμ€λ λ¬Έμμ΄μ tae hoon
- string κ°μ²΄μ λ¬Έμμ΄ μ
λ ₯
cin >> μ μ΄μ©νμ¬ ν€λ³΄λλ‘λΆν° string κ°μ²΄μ λ¬Έμμ΄μ μ
λ ₯λ°κΈ°
곡백 λ¬Έμκ° μ
λ ₯λγ
λ©΄ κ·Έ μκΉμ§ νλμ λ¬Έμμ΄λ‘ λ€λ£¨κΈ° λλ¬Έμ 곡백 λ¬Έμλ₯Ό ν¬ν¨νλ λ¬Έμμ΄ μ½μ΄λ€μΌ μ μμ
getline() μ μ λ³μλ‘ κΈ΄ λΌμΈμ λ¬Έμμ΄ μ
λ ₯λ°κΈ°
// '\n' μ λ§λ λκΉμ§ ν€λ³΄λ (cin) λ‘λΆν° λ¬Έμμ΄ μ½μ΄λ€μ΄ μ μ₯νκΈ°
string name;
getline(cin, name, '\n');
*/