본문 바로가기
반응형

c++11

[c++] 포인터 설명, 예제코드 C언어의 꽃인 포인터에 대해서 적어보도록 하겠습니다. 우선 주소 값이란 게 있습니다. 주소 값은 어떤 특정 데이터가 저장된 위치의 시작 주소를 의미합니다. c++에서는 주소 값을 1바이트 크기의 메모리 공간으로 나누어 이해를 할 수 있습니다. 그리고 포인터(pointer)는 한글로는 가르키는자라는 의미답게 메모리의 주소 값을 저장하는 변수가 되겠습니다. 즉 포인터 변수라고도 하며 예를 들어 int 변수, 100을 가지는 a를 선언하였을 때 포인터 ptr_a라는 변수는 해당 a의 주소 값을 저장하는 역할을 하게 됩니다. int a = 100; int *ptr_a = &a; 포인터 선언을 위해서는 하단과 같은 형식을 따라야합니다. 선언 형식 : 타입* 포인터 이름; 그리고 추가적으로 동시 선언을 하기 위해서.. 2021. 1. 17.
[C++] 함수 뒤에 Const 붙이는 이유 우연히 c++을 공부하다가 함수 뒤에 const를 붙이는 것을 보았습니다. 기본적으로 const는 constant 즉 상수라는 의미를 지녔습니다. 변수는 반대로 상황에 따라 값이 변하지만 const를 지정함으로써 값을 절대 바꿀 수 없게 만듭니다. 즉 코드와 같이 a라는 변수를 const로 선언하고 a에다가 다시 10을 대입해주려고 하면 오류가 납니다. 다시 본론으로 돌아와서 함수 뒤에 const가 붙는 의미는 현재 ShowPersonInfo라는 함수 선언 뒤에 const를 붙여뒀습니다. 현재 함수 안에 멤버 변수 age에 1을 대입하려는 시도를 했는데 오류가 발생하였습니다. 즉 const의 역할은 이러한 클래스가 있고 그 안에 멤버 변수와 함수들이 있을 때 const를 붙임으로써 해당 함수에서 객체의 .. 2020. 12. 18.
[C++]공백이 포함된 문자열 입력받는 함수 C++에서 단순한 cin을 통해서 띄어쓰기 입력을 받을 수가 없습니다. 때문에 C++에서 띄워쓰기가 포함된 문자열을 받을 수 있는 함수에 대해서 적어보겠습니다. 1. std::getline() #include #include using namespace std; int main() { string str; getline(cin, str); cout 2020. 12. 15.
namespace(네임스페이스) 란, std 네임스페이스 ( namespace ) 네임스페이스는 변수, 함수, 구조체, 클래스 등의 동일한 이름의 충돌 문제를 C++에서 해결하기 위해서 사용되는 영역입니다. 즉 특정한 유효 범위를 제공함으로써 프로그램 내부의 여러 라이브러리에 의한 내부 식별자 충돌을 막을 수 있습니다. 예시 - re.h int Sum(int x, int y) { return x + y; } - re2.h int Sum(int x, int y) { return x + y; } - main.cpp #include #include"re.h" #include"re2.h" int main() { std::cout 2020. 12. 10.
1065번 - 한수 ( 백준 알고리즘/c++ ) 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 문제 : N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. 입력 : 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 출력 : 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다. #include using namespace std; i.. 2020. 12. 7.
[C++] STL 및 Container STL - Standard Template Library 직역하면 표준 템플릿 라이브러리 c++ 프로그래밍에 필요한 자료구조와 알고리즘 템플릿을 제공하는 라이브러리로써 사용자가 자료구조나 알고리즘을 알지 못하여도 사용할 수 있는 라이브러리입니다. ( 편하게 사용가능 한 도구라고 생각하자.) # STL 구성요소 1. Container ( + Container Adaptor ) 2. Iterator 3. Algorithm 4. Function Object 1. Container 데이터를 저장하는 객체들로써 연속 컨테이너들과 연관 컨테이너들을 포함합니다. - 표준 연속(Sequence) 컨테이너 ( Vector, deque, list ) - 표준 연관(Associative) 컨테이너 ( set, multise.. 2020. 12. 7.
15596번 - 정수 N개의 합 ( 백준 알고리즘 / C++ ) 15596번: 정수 N개의 합 C++17, Java 8, Python 3, C11, PyPy3, C99, C++98, C++11, C++14, Python 2, PyPy2, Go, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang) www.acmicpc.net 문제 : 정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오. 작성해야 하는 함수는 다음과 같다. C, C11, C (Clang), C11 (Clang): long long sum(int *a, int n); a: 합을 구해야 하는 정수 n개가 저장되어 있는 배열 (0 ≤ a [i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000.. 2020. 11. 28.
8958번 - OX퀴즈 ( 백준 알고리즘 / C++ ) 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 문제 : OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. 입력 : 첫째 줄에 테스트 케이스의 개수가 주어진다... 2020. 11. 26.
1546번 - 평균 ( 백준 알고리즘 / C++ ) 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 문제 : 새로운 평균을 구하는 프로그램을 작성하시오. 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그러고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학 점수가 50이었으면 수학 점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그.. 2020. 11. 26.
반응형