string
header
# include <string>
Syntax
1. string str("kchoi");
2. string str1;
str1 = "kchoi";
3. string str2(str1);
.length()
// size_t length()
cout << str.length();
// 5
toupper()
header
# include <locale>
syntax
std::toupper(char var);
ex)
std::string str("kchoi");
for (size_t i = 0; i < str.length(); i++)
std::cout << (char)std::toupper(str[i]);
// == toupper(str[i].begin(), str[i].end())
// kchoi
Public, Private
public - 클래스 외부에서도 접근이 가능
private - 해당 클래스에서만 접근이 가능
예제1 - public 및 클래스 사용해보기
class Test {
public:
int numa;
private:
int numb;
}
int main() {
Test t; // 클래스 생성
t.numa = 5; // ok
t.numb = 2; // error!
}
예제2 - private 값 변경하고 출력하기
class Test {
private:
int numb;
public:
int numa;
void set_numb(int num) {
numb = num;
}
int get_numb() {
return numb;
}
}
int main() {
Test t;
t.numa = 5;
t.set_numb(3);
cout << "numb : " << t.get_numb() << "\n";
// numb : 3
return (0);
}
C++에서의 ::
정의
범위 지정 연산자 Scope Operator
용도
- 클래스이름::
- namespace이름::
- ::
용도 1 - 클래스명::
class A{
public:
void Print();
};
클래스 A안에 있는 변수 및 함수는 객체를 생성하지 않고서 접근할 수 없다.
이 경우 클래스 내 메소드를 정의하기 위해서 ::
을 다음과 같이 사용할 수 있다.
class Name {
public:
void Print();
}
void Name::Print() {
...
}
용도 2 - namespace::
namespace a
{
void func() {
...
}
}
namespace b
{
void func() {
...
}
}
위의 코드에 대해
a::func()
는 namspace 영역 a에 있는 func를,
b::func()
는 namspace 영역 b에 있는 func를 호출.
용도3 - ::
존재하는 모든 전역함수, 전역변수를 지역변수와 구분하여 사용할 수 있게 함.
cin.ignore
입력 버퍼를 초기화 하는 함수.
syntax
std::cin.ignore(arg1, arg2)
description
cin.ignore는 입력 버퍼를 초기화할 때 주로 사용하는 것으로써,
첫 번째 인자는 초기화 할 최대 길이
두 번째 인자는 delimiter로 '\n'을 주로 사용한다. (cin은 '\n'을 기준으로 무언가를 받기 때문.)
ex
# include <iostream>
# include <string>
int main()
{
std::string hello;
std::cin >> hello;
// 해당 cin에 대해 "test1" 입력
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
// 입력 버퍼 초기화
std::cin >> hello;
// 해당 cin에 대해 "test2" 입력
std::cout << hello << "\n";
// 출력. 결과는:
// test2
}
setw
출력할 width를 설정하는 함수.
syntax
std::setw(int width)
header
# include <iomanip>
ex
#include <iostream>
#include <string>
#include <iomanip>
int main()
{
std::string test = "12345";
std::cout << test << '\n';
std::cout << std::setw(10) << test << '\n';
}
결과는
12345
12345
refs -
https://blockdmask.tistory.com/338
https://en.cppreference.com/w/cpp/string/byte/toupper
http://blog.daum.net/art_code/678157
https://zoonvivor.tistory.com/92
https://stackoverflow.com/questions/25020129/cin-ignorenumeric-limitsstreamsizemax-n
https://dodnet.tistory.com/488
https://tang1993.tistory.com/1
'Code 42 > CPP MODULEs' 카테고리의 다른 글
CPP-MODULE-01 (4) | 2021.01.28 |
---|---|
Cpp Module 07, 08 (0) | 2021.01.26 |
CPP Module 04, 05 (0) | 2021.01.23 |
CPP module 02, 03 (0) | 2021.01.21 |
Mac Os Valgrind 설치하기 (0) | 2021.01.19 |
최근댓글