월 24,200원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C++
extern 선언
header 파일과 cpp파일을 따로 만들어 상수를 선언하는 부분에서, header 파일에 extern 선언을 하는 것은 이해가 되지만, cpp파일에서까지 extern을 붙여줘야하는 이유를 모르겠습니다. extern 은 외부 파일 어딘가에 해당 변수(상수)가 있다 라는 의미를 내포하고 있는것으로 아는데, cpp파일에서도 선언을 해 줘야하는지 궁금합니다. +실제로 cpp파일의 상수 선언에서 extern을 빼니, 에러가 발생하는것을 확인했습니다. 제가 extern 키워드를 잘못 이해하고 있는건가요?
- 미해결홍정모의 따라하며 배우는 C++
코드 최적화 관점에서 리터럴에 대해 질문이 있습니다.
강의 시간은 따로 없고 강의를 쭉 듣다가 궁금해져서 질문 주제와 관련된 것이 이 강의라서 여기서 질문 드리는데요 특정 계산을 반복하는 코드를 짰는데요 이것이 계산 속도가 중요한 부분이 있습니다. 그래서 최적화를 할려고 노력중인데 변수에 리터럴을 저장 해놓고 변수를 쓰는게 계산이 빠른지 아니면 그냥 변수 저장없이 리터럴 값을 바로 쓰는게 계산이 빠른지 궁금합니다. 변수가 반복이 된다면 변수를 쓰는게 좋다고 하시겠지만 2,3번 쓰는것도 그냥 변수로 쓸지 아니면 리터럴 상수 값으로 쓰는게 나을지 궁금합니다. 그만큼 속도가 중요해서 고민이 하고 있습니다. 값은 소수랑 정수가 있습니다.
- 미해결홍정모의 따라하며 배우는 C++
실행이 됬는데 잘됬건지 모르겠네요
너무 짧게 짜진것 같은데 잘 짠건지 모르겠네요ㅠ 일단 실행은 잘됩니다.
- 미해결홍정모의 따라하며 배우는 C++
동적할당의 메모리에 관해 질문이 있습니다
안녕하세요. 동적할당을 배우기 시작한 프로그래밍 입문자입니다. 동적할당에 관해 궁금한 점이 있어서 질문드리게 됐습니다. int main() { { int a = 5; } a = 7; (오류) return 0; } 위의 코드에서 a는 스택메모리에 저장되어 있습니다. 스택은 괄호를 빠져나가는 순간 메모리가 소멸하기에 뒤에 a 값을 할당하려는 것(a=7)은 오류가 되잖아요. 근데 동적할당의 경우 스택이 아니라 힙에 저장되며, 무엇보다 괄호를 빠져나가는 순간 메모리가 소멸하는 것이 아닌 delete를 해줘야 메모리가 다시 os에 반환되는 거잖아요. 반대로 delete하기전엔 메모리가 소멸이 안 된다는 거잖아요 따라서 위의 상황처럼 스택의 상황과 전혀 다르기에 비슷한 상황을 만들어봤습니다. int main() { { int* b = new int {5}; } *b = 7; (오류) return 0; } b는 힙에 저장되어 있고 delete를 하지 않는 한 메모리가 사라지지 않으니 return 위에 있는 b에 값을 할당하는 내용이 오류가 아닐 줄 알았는데 오류라고 뜨네요. 왜 오류가 뜨는지 알고 싶습니다!
- 미해결홍정모의 따라하며 배우는 C++
지역변수의 중단점이 안보일경우
배열과 반복문 강의 듣는겸 따로 봐왔던 코드를 따라 해보는겸 코드를 짜고 잇는데요 제 의도 대로 되지 않아서 중단점을 통해서 배열이 어떻게 채워지는지 보고싶어 중단점을 정하고 디버깅을 하는데 지역 변수 인 부분인 배열이 중단점에서 안보이더라구요 ㅠ 구글링해서 optimization을 Disabled 해도 안되더라구요 배열을 중단점에서 어떻게 확인 할수 있을까요?? 버젼은 Visual Studio Community 2019 - Version 16.11.2 입니다!
- 미해결홍정모의 따라하며 배우는 C++
moveTo함수 질문
안녕하세요. 비전공자라 매우 기초적인 질문일 수 있는데moveTo함수의 파라미터를 인티저 변수가 아닌 참조자 변수로 받는 것은 메모리를 줄이기 위함인가요?
- 미해결홍정모의 따라하며 배우는 C++
재밌네요
(사진)
- 미해결홍정모의 따라하며 배우는 C++
error C2672: 'begin': 일치하는 오버로드된 함수가 없습니다?
동작할 것 같은데 ... 위의 에러가 나서요. 설명 좀 해주세요. #include <iostream> #define SIZE 5 using namespace std; int add(int arr[], int size) { int sum = 0; for (auto element : arr) { sum += element; } return sum; } int main() { int a[] = { 1,2,3,4,5 }; int c = add(a, SIZE); }
- 미해결홍정모의 따라하며 배우는 C++
13분10초쯤에 질문이있습니다
try { if(x<0.0)throw string("Negative input); cout<<sqrt(x)<<endl; } catch(string error_message) { court<<error_message<<endl; } 이때 throw 안에있는 string("Neagtive input")은 익명객체인가요 아니면 string 으로 타입캐스팅을 해주었다는 뜻인가요?
- 미해결홍정모의 따라하며 배우는 C++
doSomething 함수의 파라미터
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 수업에서 한 doSomething함수를 적다가 궁금해서 cout<<array도 해 보았는데요, cout<<&array와 값이 다르게 나오는 이유가 뭔지 궁금합니다
- 미해결홍정모의 따라하며 배우는 C++
0 아니면 다 true라고 하셨습니다.
왜 알파벳 하나 입력 했을때 false가 나오나요? d나 다른 알파벳도 넣으면 false가 나옵니다. 강의 시간 - 18:45 비쥬얼 스튜디오 버젼 2019 16.7.5
- 미해결홍정모의 따라하며 배우는 C++
구초체 초기화에 있어서 비주얼 스튜디오에서는 되는데, 리눅스에서는 에러가 나는 이유를 알고 싶습니다.
#include <iostream> using namespace std; struct { int number; char name[10]; char phone_number[15]; int age; }typedef Employee; int main() { Employee employee[10]; employee[0] = { 1, "test1","010-5555-6666",30 }; int i; for (i = 0; i < 10; i++) { if (employee[i].age >= 20 && employee[i].age <= 30) { std::cout << employee[i].name << std::endl; } } return 0; } 컴파일 g++ a.cpp -std=c++11 에러 a.cpp: In function ‘int main()’: a.cpp:13:14: error: no match for ‘operator=’ (operand types are ‘Employee’ and ‘<brace-enclosed initializer list>’) employee[0] = { 1, "test1","010-2222-3333",25 };
- 미해결홍정모의 따라하며 배우는 C++
파생클래스
안녕하세요.훌륭한 강의 잘듣고 있습니다. 하나 여쭤볼게 있는데 파생클래스에 대한 부분을 먼저 듣고싶은데 강의내용에 포함되지 않은건가요?? 찾아봤는데 어딨는지 모르겠습니다.....
- 미해결홍정모의 따라하며 배우는 C++
11분 경 *check_fcn 에 대한 궁금증.
bool (*check_fcn)(const in&) 이게 기능을 넣기 위해선 함수가 필요하고, 함수를 파라미터로 사용하기 위해서 펑션 포인터 형태로 (*check_fcn)을 사용. 그리고 리턴 타입이 bool인 isOdd와 isEven 함수를 사용하기 위해 두 함수의 파라미터인 const int&를 사용했음. 제가 이렇게 이해했는데 이게 맞는지 모르겠습니다. 그리고 만약 isOdd와 isEven의 파라미터가 int라면 (*check_fcn)(int)로 사용하는게 맞는건가요?
- 미해결홍정모의 따라하며 배우는 C++
getline
안녕하세요, std 안에 getline 멤버가 없다고 나오는데 혹시 버전의 문제일까요? Visual Studio 2021 버전 입니다.
- 미해결홍정모의 따라하며 배우는 C++
x64 native tools command Prompt for VS 가 나오지 않습니다
윈도우 검색창에 검색해도 cmd 명령 프롬프트 만 나오고 강의처럼 네이티브 툴스 커맨드 프롬프트(?) 가 나오지 않네요 일단 이부분은 강의만 보는식으로 진행해도 되겠죠?
- 미해결홍정모의 따라하며 배우는 C++
저도 isEven 할 떄 0부터 9까지 다 나오네여;;
isodd는 정상대로 홀수만 나오는데, iseven은 다 출력되네여; #include <iostream> #include <array> using namespace std; bool isEven(const int& number) { if (number % 2 == 0) { return true; } } bool isOdd(const int& number) { if (number % 2 != 0) { return true; } } void printNumbers(const array<int, 10>& my_array, bool (*check_fcn)(const int&)) { for (auto n : my_array) { if (check_fcn(n) == true) { cout << n; } } cout << endl; } int main() { array<int, 10> my_array = { 0,1,2,3,4,5,6,7,8,9}; printNumbers(my_array, isOdd); printNumbers(my_array, isEven); return 0; } 다른 분도 그러는거 같은데 컴퓨터 마다 다른건가요??
- 미해결홍정모의 따라하며 배우는 C++
생성자 관하여 질문
제가 예시로 짠 코드인데 생성자를 만들때 TEST1 처럼 만드실 때도 있고 TEST2처럼 만드실 때도 있던데 둘이 동일한 건가요?? 둘 다 인스턴스 만들때 TEST1 t1(10); TEST2 t2(10); 이런식으로 값 하나씩 default constructor로 넣어줘야 하는건 똑같던데 무슨 차이가 있나 싶어서요...ㅎㅎ;;;
- 미해결홍정모의 따라하며 배우는 C++
예제 파일이 어디있나요??
예제파일은 없나요? 가끔 너무 슉슉지나가서 타이핑하는데 오래 걸려요 어디있는지 알려주세요
- 미해결홍정모의 따라하며 배우는 C++
5.9 난수 만들기, rand()를 쓸 때 계속 같은 숫자가 나오는 이유
안녕하세요, <5.9 난수 만들기> 강의를 듣다 궁금한 점이 생겨 질문을 남깁니다. std::time을 사용해 seed를 random하게 생성하는데도 불구하고, rand()로 여러 숫자를 출력할때, build를 다시했는데도 첫 숫자가 항상 동일하게 나옵니다. 50개 숫자 중 나머지 49개는 다 다르게 나옵니다. 첫번째 숫자만 같은 숫자로 계속 나와요. (62로...) 이유가 무엇일까요?