C \ C++
-
[C++] 스택 & 큐 (라이브러리 사용하기)C \ C++ 2021. 6. 17. 19:21
스택 (Stack) LIFO(Last in First Out) 1 2 3 4 5 순서로 집어넣었을때 5 4 3 2 1 순서로 꺼내지게 됨 #include 을 이용하여 라이브러리를 사용할 수 있다. #include #include using namespace std; int main(void) { stack tmp; //int 형 스택 선언 tmp.push(1); //스택에 1 넣음 tmp.push(2); tmp.push(3); tmp.push(4); tmp.pop(); //가장 마지막에 넣은 요소 꺼내기 //출력 while(!tmp.empty()) { cout
-
[C++]std::stollC \ C++ 2021. 2. 13. 18:46
std::stoll string의 내용을 integer타입으로써 분석하고 , long long 타입의 value를 리턴해주는 특정한 규정하에 값을 돌려준다. 헤더 : #include syntax: long long stoll (const string & str, size_t * idx = 0, int base = 10); long long stoll (const wstring & str, size_t * idx = 0, int base = 10); str : 정수표현이 있는 문자 객체 idx : 숫자 값 뒤의 str 에서 다음 문자의 위치로 함수에 의해 값이 설정되는 size_t 유형의 객체에 대한 포인터, 이 매개 변수는 널 포인터 일 수도 있고, 이 경우 사용되지 않는다. base : 유효한 문자와 ..
-
[C++] stoi()C \ C++ 2021. 2. 11. 23:09
std::stoi string 혹은 wstring 문자열을 base 진법을 사용하는 부호 있는 정수로 변환한 값을 리턴한다. 이 때, 변환 과정에서 문자를 읽었는지는 pos 에 저장된다. 헤더 : #include syntax : int stoi (const string& str, size_t* idx = 0, int base = 10); int stoi (const wstring& str, size_t* idx = 0, int base = 10); 간단히 말하면 string 을 int형으로 변환해주는 함수
-
[C++] sort 함수 compareC \ C++ 2021. 2. 9. 20:20
sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp); 정렬해주는 함수로 굉장히 사용하기 편하다. 뒤에 compare는 사용하지 않아도 되고, sort (RandomAccessIterator first, RandomAccessIterator last); 그냥 사용할 경우에는 오름차순이 디폴트이다. sort를 이용한 오름차순 && 내림차순 나같은 경우 이해가 잘안가서 힘들었는데 설명이 맞을지는 모르겠으나, 오름차순의 경우 앞에 있는 수 보다 뒤에 있는 수가 더 클때 정렬해주는 경우로써 더 작은 숫자가 a에 더 큰 숫자가 b에 ex) {8,3} 이 있다면 a = 3 ,b = 8 내림차순의 경우 앞에 있는 수가 뒤에 있는 수보다 ..
-
[C언어] 문자열 비교 strcmp,strncmpC \ C++ 2021. 1. 26. 17:21
strcmp 두 문자열이 같으면 0을, 같지 않으면 0이 아닌 값을 반환한다. strncmp 두 문자열의 원하는 길이만큼 같으면 0, 같지 않으면 0이 아닌값 반환한다. //헤더파일 //c: //c++ : int strcmp(const char* str1, const char* str2) //str1, str2 : 비교할 문자열 1 ,2 int strncmp(const char* str1, const char* str2, size_t n); //str1 , str2, n : 비교할 문자열 1, 2, 비교할 문자열 길이 strcmp, strncmp 는 각각 아스키 코드 값으로 비교를 하고, 아스키 코드를 사용 하므로 대소문자 구별이 가능하다 그리고 0혹은 양수 음수를 반환 하는데 그 경우는 * 첫번째 인자..
-
[c++ error] warning: range-based for loop is a C++11 extensionC \ C++ 2021. 1. 19. 17:49
visual code 코드 사용중 main.cpp:13:20: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for (int element : first_three_multiples(8)) { 이러한 에러 발생시 본인이 사용하는 코드 실행프로그램? 찾아서 톱니바퀴 누른 후 -> Extension Settings 그리고 나서 Edit in settings.json 클릭한뒤 밑줄 친 부분을 추가 혹은 수정한다.
-
[C++] range-based for statementC \ C++ 2021. 1. 19. 17:34
C++ 와 Java 에서는 foreach loop 라고 불리는 반복문이 존재한다. (c++에서는 range-based for statement이름을 사용하는듯 하다) 이 loop는 C++11 에서 소개되었다. 우리의 경우 c++ 의 range-based for statement에 대해서 이야기 한다. range-based for statement는 container에 있는 모든 원소를 시작부터 끝까지 반복한다. for(range-declaration : range-expression ) loop statement //range-declaration : range-expression의 elements와 같은 타입의 변수를 선언 //range-expression : elements의 sequence를 나타내..
-
[C++]ERRORSC \ C++ 2021. 1. 17. 16:35
1.Cimpile-time Errors -Syntax errors: 문법 규칙 위반시 발생 ex) ; 빼먹은 경우 , { 빼먹은 경우 -type errors: 타입과 선언이 미스매치인 경우 ex) 변수 선언시 잘못된 자료형 사용 등 2.link-time Errors 프로그램이 필요한 함수 혹은 라이브러리를 찾지 못하는 경우 ex) main() 을 Main() 으로 작성했을시, 정의된적 없는 함수 사용시 등,, 3.Run-time Errors 프로그램 실행중 발생하는 에러 ex)0으로 나눌때, 존재 하지 않는 파일 열려고 할때 4.Logic Errors 프로그램은 성공적으로 끝났지만 프로그래머가 의도한 결과가 아닌 다른 결과가 나왔을때 ex) if문 조건 실수 loop, for,,,등 여러가지 경우, 프로..
-
[C언어] 입력버퍼C \ C++ 2021. 1. 1. 21:31
코드 작성중 3번째 scanf를 받지 못하고 지나가는 일이 발생했다. 찾아보니.. scanf("%s", name); scanf("%d", &age); scanf("%c", &c); scanf("%lf", &b); cs 두번째 scanf에서 정수를 받고 엔터를 누르면 버퍼에 ₩n(엔터) 에 대한 버퍼가 남아 있어서 그렇다고 한다 그전에 잠시 버퍼에 대해 간단히 알아보자 버퍼(buffer)란? 우리가 흔히 사용하는 printf(), scanf(), puts() 함수 등은 c언어의 표준 입출력 함수이며, 이러한 표준 입출력 함수를 사용할 때에는 버퍼(buffer)라는 임시 메모리 공간을 사용하게 된다. 키보드를 통해 입력되는 데이터는 일단 입력버퍼에 저장된 후 프로그램에서 읽혀진다. 우리가 데이터를 입력하고 ..