이런 유형의 문제
해결됨
it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
강의 너무 잘 듣고있습니다. 강의를 듣다가 43번 44번 같은 유형의 문제가 제 취약점인 것을 확인했습니다. 이런 유형의 문제를 더 풀어보고 싶은데 혹시 추천해 주실만한 문제가 있는지 궁금합니다.
- 코테 준비 같이 해요!
- C++
173만명의 커뮤니티!! 함께 토론해봐요.
해결됨
it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
강의 너무 잘 듣고있습니다. 강의를 듣다가 43번 44번 같은 유형의 문제가 제 취약점인 것을 확인했습니다. 이런 유형의 문제를 더 풀어보고 싶은데 혹시 추천해 주실만한 문제가 있는지 궁금합니다.
미해결
현재 opencv 4.4.0 사용중이고 CV_HAAR_FIND_BIGGEST_OBJECT | CV_HAAR_SCALE_IMAGE 이부분에서 오류 뜨는데 해결방법 알수 있을까요? 오류 내용은 E0020 식별자 가 정의되어있지 않습니다 라고 뜹니다.
미해결
홍정모의 따라하며 배우는 C++
안녕하세요, Cents 클래스와 Dollar클래스를 이용하여 Dollar -> cents로 변환을 하고있는데, 메인함수에서 Cents cents = dol; 이 부분이 잘 이해가 가지 않습니다. 제가 이해한 프로세스가 1 .Dollar dol(3); 으로 선언 2. Dollar 클래스 안에 operator Cents()로 Cents로 형변환 오버로딩이 실행되서 dol(3)의 타입이 Cents가 됨. 3. 따라서, 메인함수의 cents객체에 대입 가능 (Cents가 사용자 정의 타입이므로) 제가 이해한게 맞나요..?
해결됨
홍정모의 따라하며 배우는 C++
void printElement(int &arr[4]) 라고 입력을 했을때 오류가 생깁니다..... 반면에 강의처럼 void printElement(int (&arr)[4]) 라고 입력을 하면 오류가 생기지 않는데... 왜 그런 걸까요? 저 괄호를 굉장히 의도하고 쓰신거 같은데 딱히 설명을 안되어 있네요.
미해결
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
typedef를 사용해서 Iterator<T> iterator를 선언하는 부분에서 제대로 이해하기 어려운것 같아서 질문남깁니다. typedef를 선언했을때, main함수의 for문안에서 Vector<int>::iterator 했을때 자동적으로 iterator<T> 타입을 이용한다는 부분이 와닿지 않습니다. 좀더 구체적인 설명 조금 부탁드려도 될까요? 왜 저것을 사용했을때 Vector<int>::iterator 가 문법적으로 문제가 없는지 잘 모르겠습니다. 클래스명::을 사용하는 문법은 어떤 상황에서 사용하는건가요? std:: 라는것처럼 네임스페이스 부분으로 이해한 경우는 있는데, 클래스명으로 ::으로 했을때는 어떤 경우에서 사용하는지 헷갈리는것 같습니다. 추가 보충설명 해주시면 정말 감사하겠습니다.
해결됨
홍정모의 따라하며 배우는 C++
int dosomting(int x) { return ++x; } int dosomting1(int x) { cout << ++x << endl; } int main() { int x = 4; cout << dosomting(x) << endl; //5 dosomting1(x); //5 cout << x << endl; //4 } 함수에 매개변수를 넣게 되면 변수가 복사가 되어서 값을 바꾸어도 본래의 값에는 영향을 미치지 않는다는 것을 알고 있습니다. 하지만 출력시켰을 때가 조금 헷갈립니다. 출력을 하게 되었을 때는 값이 바뀌어서 나왔습니다. main의 x와 다른것인것인 return값이 나오는 것같은데 main의 x와는 관련이 없는것인가요? dosomting과 dosomting1이 작동하는 방식이 같은 것인가요?
미해결
it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
안녕하세요. 강의를 보기 전 먼저 문제를 보고 풀어봤습니다. 배열 기호 안에서 연산을 하지 않고 temp라는 변수에 값을 담은 후 증감을 했습니다. 이렇게 하면 연산을 더 하게 돼 크기가 큰 문자열에선 속도 저하가 일어날까요?
미해결
홍정모의 따라하며 배우는 C++
설명하실 때, resource의 copy연산자로 가는게 아니고, 거기서 그냥 포인터만 복사한다고 하셨습니다. 근데 이 경우에 파라미터 안에 R-Value가 들어오는 경우에는 shallow copy를 하기 위해 AutoPtr의 operator로 가는 것이고, L-Value가 들어오는 경우 deep copy를 하기 위해 resource의 copy operator로 간다고 생각하는게 맞나요? 혹시, AutoPtr에서 그냥 shallow, deep copy를 구현할 수 있는 코드를 짜면, Resource에서는 굳이 copy constructor나 operator를 넣지 않아도 되는지가 의문입니다.(AutoPtr<Resource>를 이용할 때) 그리고 AutoPtr<Resource> 이걸 어떻게 해석해야 하는지가 너무 헷갈리는데 정리해주실 수 있을까요?ㅜ 예전 강의 보면 vector<int>나 array<int>와 같이 해석하려는데, 여기서는 AutoPtr과 Resource가 둘다 class라서 해석하는데 어려움이 있는 것 같습니다.
미해결
홍정모의 따라하며 배우는 C++
학교에서 C++를 하는데 교수님이 C언어를 알고계신상태로 강의를 하셔서 이해가 하나도 안가더라구요 저는 전과를 해서 C언어를 안배웠는데 다른 애들은 다 배운상태고 C언어를 배우기엔 시간이 너무 촉박해서 그런데 바로 C++배워도 될까요??
미해결
홍정모의 따라하며 배우는 C++
int main() { char name[] = "ABC"; char *name2 = "DEF"; int arr[] = {10, 20, 30}; cout << name << endl; //ABC cout << &name << endl; //0x16..94 cout << *name << endl; //A = name[0] cout << *(name+1) << endl; //B = name[1] cout << &(*(name+1)) << endl; //BC ? --------질문(1) //cout << &(name+1) << endl; // --------------질문(1) cout << name2 << endl; //DEF cout << &name2 << endl; //0x16..88 cout << *name2 << endl; //D = ? -------------질문(2) cout << *(name2+1) << endl; //E = ? ----------질문(2) cout << arr << endl; //0x16..98 ? ------------- 질문(3) cout << &arr << endl; //0x16..98 ? ------------질문(3) cout << *arr << endl; //10 = arr[0] } 질문 1 주소값이 나오지 않고 BC가 나오는 이유는 무엇인가요 cout때문인가요 ? 또 &(name+1)은 왜 안되는 것인가요 질문 2 char *name 이 배열과 비슷하게 작동이 되는 것 같은데 배열로 봐야 하는 것인가요? 그럼 name2[0]으로 봐도 무방한것인가요 질문 3 arr와 &arr출력값이 같은데 arr는 주소값이라서 앞에 & 가 생략이 된 것인가요? 제가 봐도 너무 질문이 많고 두서가 없는데 너무 헷갈려서 정리가 잘 안되네요 죄송해요 해결부탁드립니다 ㅜ
미해결
홍정모의 따라하며 배우는 C++
for문 예제를 보면 for (int count = 0; count < 10; ++count) 에서 증감연산자 ++가 count앞에 오는걸 알 수 있는데요, 이 for문은 for (int count = 0; count < 10; count++) 로 바꾸어도 같은 결과가 출력이 되는것 같은데 ++count를 할때와 count++를 할때의 차이점이 있을까요?
미해결
[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문
논리 표현식에서 2분 10초쯤에 1번째 식은 좌항이 T, 우항이 F이므로 전체 식이 F라고 하셨는데, 2번째 식에서 좌항이 T, 우항이 F이므로 둘중 하나라도 T가 있으니까 전체 식이 T라고 하셨습니다. 이게 왜 이렇게 되는 건지 모르겠습니다 ㅜㅜ
미해결
홍정모의 따라하며 배우는 C++
main.cpp #include "AutoPtr.h" #include "Resource.h" using namespace std; AutoPtr<Resource> generateResource() { AutoPtr<Resource> res(new Resource(3)); return res; } int main() { { AutoPtr<Resource> main_res; main_res = generateResource(); } return 0; } //////////////////////////// AutoPtr.h #pragma once #include <iostream> template<class T> class AutoPtr { public: T* m_ptr = nullptr; public: AutoPtr(T* ptr = nullptr) :m_ptr(ptr) { std::cout << "AutoPtr default constructor" << std::endl; } ~AutoPtr() { std::cout << "AutoPtr destructor" << std::endl; if (m_ptr != nullptr) delete m_ptr; } T& operator*() const { return *m_ptr; } T* operator->()const { return m_ptr; } bool isNull()const { return m_ptr == nullptr; } AutoPtr(const AutoPtr& a) { std::cout << "AutoPtr copy constructor" << std::endl; //deep copy m_ptr = new T; *m_ptr = *a.m_ptr; } AutoPtr& operator=(const AutoPtr& a) { std::cout << "AutoPtr copy assignement" << std::endl; if (&a == this) return *this; //deep copy m_ptr = new T; *m_ptr = *a.m_ptr; return *this; } ///////////////////////////////////// Resource.h #pragma once #include <iostream> class Resource { //private: public: int* m_data=nullptr; unsigned m_length = 0; public: Resource() { std::cout << "Resource default constructed" << std::endl; } Resource(unsigned length) { std::cout << "Resource length constructed" << std::endl; this->m_data = new int[length]; this->m_length = length; } ~Resource() { std::cout << "Resource destroyed" << std::endl; if (m_data != nullptr) delete[]m_data; } Resource(const Resource& res) { std::cout << "Resource copy constructed" << std::endl; Resource(res.m_length); for (unsigned i = 0; i < m_length; ++i) m_data[i] = res.m_data[i]; } Resource& operator =(Resource& res) { std::cout << "Resource copy assignment" << std::endl; if (&res == this)return *this; if (this->m_data != nullptr)delete[]m_data; m_length = res.m_length; m_data = new int[m_length]; for (unsigned i = 0; i < m_length; ++i) m_data[i] = res.m_data[i]; return *this; } void print() { for (unsigned i = 0; i < m_length; ++i) std::cout << m_data[i] << " "; std::cout << std::endl; } }; 웬만하면 코드 질문은 스스로 해결하려고 했는데 며칠 고민하면서 디버거로 찍어봐도 중간중간에 뜬금없이 생성자가 호출되거나 다시 복사가 되는 원인을 못찾겠습니다
미해결
홍정모의 따라하며 배우는 C++
비쥬얼 스튜디오가 오류가 나는 듯 합니다. 코드에 오류나 문제는 없는것 같은데 출력값이 안나오네요... While.cpp 파일에서 Ctrl+F5했는데 이진수.exe가 실행된걸 보면 파일에 관한 문제 같은데.. 뭐가 문제일까요?
미해결
홍정모의 따라하며 배우는 C++
8:10 에서 b의 포인터를 내부적으로 a 포인터로 바꿔서 print()를 호출한다고 하셨는데, ref의 자료형은 A지만 A의 getThis() 는 virtual 이므로 B의 포인터가 반환되었고, B의 print()를 호출하려 했지만 A의 print()가 virtual 이 아니라서 B 대신 A의 print()가 호출된 게 맞나요?
미해결
it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
안녕하세요. 좋은 강의 잘 보고 있습니다. 강의를 보던 중 자료구조 책을 따로 살지 말지 고민중입니다. 책을 사면 더 좋지만 강의를 더 반복해서 돌려보는 편이 집중이 잘 되는 편 입니다. 강의에서 필요한 자료구조는 다 다뤄주시면 사진 않을 생각이라 여쭤봅니다.
해결됨
[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문
'클래스 생성자와 파괴자' 강의 5:58 부분에서 Coding 클래스 생성자를 temp에 대입하였는데, 기존에 있던 Panda클래스가 아닌, Coding클래스가 소멸한다고 하고 뒤에 Coding 클래스가 출력되는지 궁금합니다.
미해결
홍정모의 따라하며 배우는 C++
extern 은 다른 소스파일의 변수를 공유한다는 의미로 사용한다고 알고 있습니다. (a.cpp와 b.cpp 소스 파일이 있을 때, a.cpp에는 int num=123; , b.cpp에는 extern int num; 와 같은 식으로) 그런데 강의 34:00 에 보면 test.cpp에서 extern int a=123;로 초기화를 한 후 main.cpp에서 extern int a; 를 작성하시던데 두 cpp 파일에서 변수 a에 모두 extern을 사용하는 이유를 알고싶습니다.
미해결
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
맥북에서도 c++을 쓸 일이 있어서 vscode를 깔고 파일을 다운받아 cpp_study 파일에서 빌드를 실행했는데 사진과 같은 에러가 발생하네요 ㅠㅠ 구글링을 해봐도 vscode가 비주얼 스튜디오랑은 많이 다른것 같아서 설정을 어찌 바꿔야 할 지 모르겠는데 혹시 알고계신다면 알려주시면 감사하겠습니다
해결됨
[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문
참조변수는 어떤경우에 쓰는거고 포인터변수로 swap하는거랑 차이점이 뭔가요??