inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

extern 선언

미해결

홍정모의 따라하며 배우는 C++

header 파일과 cpp파일을 따로 만들어 상수를 선언하는 부분에서, header 파일에 extern 선언을 하는 것은 이해가 되지만, cpp파일에서까지 extern을 붙여줘야하는 이유를 모르겠습니다. extern 은 외부 파일 어딘가에 해당 변수(상수)가 있다 라는 의미를 내포하고 있는것으로 아는데, cpp파일에서도 선언을 해 줘야하는지 궁금합니다. +실제로 cpp파일의 상수 선언에서 extern을 빼니, 에러가 발생하는것을 확인했습니다. 제가 extern 키워드를 잘못 이해하고 있는건가요?

  • C++
zzaibean 댓글 2 좋아요 1 조회수 398

시간 복잡도 관련으로 질문 드립니다

해결됨

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

안녕하세요 강사님, 강의 잘 듣고 있습니다! 다름이 아니라 제가 짠 코드로도 100점이 나오긴 하는데, 강사님이 설명해주신 코드와는 방식이 조금 달라 해당 코드의 시간 복잡도에 대해 여쭤보고자 질문 드립니다. #include <iostream> using namespace std; int main() { int count = 0; int max = 0; int input; cin >> input; for (int i = 1; i <= input; i++) { count = 0; max = i; for (int j = 1; j <= max; j++) { if (i % j == 0) { if ((i / j) != j) count++; max = (i / j) - 1; count++; } } cout << count << ' '; } cout << endl; } 시간 복잡도 O(n^2)의 코드와 유사한데, for문을 한 번 계산할 때마다 max 값을 줄여 약수의 절반을 찾아내면 다음 for문으로 넘어가는 방식의 코드예요. 실제로 for문이 도는 건 원래의 값보다 훨씬 적긴 한데 O(logn * n)보다는 오래 걸리는 것처럼 보여서... 이 코드의 시간 복잡도도 O(n^2)이 맞나요?

  • C++
  • 코테 준비 같이 해요!
베레벨 댓글 1 좋아요 0 조회수 241

socket관련 질문!

미해결

따라하며 배우는 NestJS

안녕하세요! 먼저 강의 잘 들었습니다 강의보고 따라해보니 CRUD 프로그램 개발에는 조금이나마 이해가 됩니다 그런데 socket을 이용하여 tcp 통신을 해야하는 프로젝트를 진행중인데 nest.js 공식 문서를 보니 @SubscribeMessage('event_name') 을 이용하여 데이터를 받고 emit을 이용하여 event_name으로 주는 환경이더라고요?? 현재 서버를 nest.js 기반으로 개발하고 개발해 놓은 클라이언트(c++작성)에서 tcp 통신을 하기 위해서는 c++ 클라이언트에서도 socket.io를 활용하여 event_name 을 통하여 통신을 해야하는 것인가요? 아니면 event_name 없이 단순 tcp 통신을 통해 binary 데이터를 주고 받을 수 있는 서버 nest.js 환경이 있을까요?? 제가 socket.io에 대해 이해한 내용이 맞는건지도 잘 모르겠지만 답변 부탁드리겠습니다!

  • socket.io
  • tcp
  • NestJS
  • jwt
  • socket
  • TypeORM
  • nest.js
  • c++
  • postgresql
김준우 댓글 1 좋아요 0 조회수 371

sasm 오류

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

첫 sasm강의에서 setting을 확인하라고 하면서 hello world가 출력이 안되는데 왜 그런건가요?

  • C++
정순호 댓글 2 좋아요 0 조회수 546

6-C 6236번 질문있습니다

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

6236 용돈관리 문제 질문드립니다. 제공해주신 문제해설 코드가 틀렸다고 나와서 질문드립니다. 시작 hi값을 써야되는 금액을 모두 더한 값으로 설정하고 이분탐색을 했더니 통과가 되었습니다. 문제에서 K의 최대값에 대한 설명이 없어서 맞게 생각해서 통과한건지 어쩌다 얻어걸린건지 궁금해서 질문드립니다!

  • 코테 준비 같이 해요!
  • C++
최준용 댓글 1 좋아요 0 조회수 298

3-E 뮤탈리스크 질문

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

using namespace std ; vector< int > V; bool cmp ( int A , int B ){ return A > B; } int main (){ ios_base :: sync_with_stdio ( false ); cin . tie ( NULL ); cout . tie ( NULL ); int N, temp; cin >> N; for ( int i = 0 ; i < N; i++){ cin >> temp; V . push_back (temp); } int cnt = 0 ; while ( V . size ()){ sort ( V . begin (), V . end (), cmp); int dmg = 9 ; cnt++; for ( int i = 0 ; i < V . size (); i++){ V [i] -= dmg; dmg /= 3 ; } sort ( V . begin (), V . end (), cmp); for ( int i = V . size () - 1 ; i >= 0 ; i--){ if ( V [i] <= 0 ) V . pop_back (); else break ; } } cout << cnt; return 0 ; } 안녕하세요. 강사님. 항상 수업을 잘 가르쳐 주셔서 감사합니다. 우선, 해당하는 강의를 듣고 푸는 것은 이해를 했습니다. 하지만, 강의를 듣기 전, 뮤탈리스크가 SCV의 체력이 많은 순서대로 때리는 것이 맞겠다고 생각했고, 이를 토대로 풀어본 코드는 위와 같습니다. 위 코드에서 백터 V라는 전역변수를 사용해 입력을 받습니다. 이후, 해당 벡터를 내림차순(=큰 순서대로)으로 정렬하고, SCV HP를 9, 3, 1 순서로 깎았습니다. 이 후, 다시 내림차순으로 정렬하여 벡터의 마지막 인덱스부터 HP가 0 이하이면 pop_back()을 해주었습니다. 위와 같이, 풀었을 때, 주어진 테스트 케이스는 통과했지만, 문제 제출 시 틀렸다고 나온 상태 입니다. 혹시, 위 코드로 풀었을 때, 문제점을 여쭤보고 싶습니다.

  • 코테 준비 같이 해요!
  • C++
박종우 댓글 2 좋아요 0 조회수 329

컴파일에러

미해결

[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문

안녕하세요 강의를 잘 듣고있는 초보 학생입니다. 문의드릴것이 있습니다. 프로젝트 안에서 강의 별로 study_1,cpp, study_2,cpp 이런식으로 소스 파일을 만들어서 하고 있습니다. 근데 따라서 하는 도중 F5 눌러서 컴파일 하면 (study2에서) 코드명:LNK2005 또는 LNK1169 하는 에러가 발생하는데 어떤 이유인지요? 설명으로는 'main 이 이미 study_1에 정의 되어있습니다'라고 나오는데 어떤 이유에서인지.. 혹시 study_1, study_2 의 메인 함수명이 같아서 인지요??? (코드의 오타는 확인해 봤습니다. study_1에서도 같은 에러가 발생하네요..)

  • c++
  • C++
bum519 댓글 1 좋아요 1 조회수 295

배운 내용과 실제 스택 작동방식이 다릅니다.

해결됨

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

이전 강의에서는 함수가 스택 영역을 사용할 때 bp와 sp가 같은 위치인 상태에서 sp를 일정한 값으로 빼주고 빼준 값 만큼 스택 영역을 확보한 뒤 bp와 sp 사이의 공간 을 메모장처럼 사용한다고 하셨습니다. 하지만 제가 직접 확인 해보니 sub esp, 0c0h로 sp를 빼는 것 까지는 맞으나, ebp와 esp 사이의 영역은 안 쓰고 0c0 만큼 빼진 새로운 esp 지점 부터 사용됩니다. 배운 거랑 달라서 혼란스럽네요 환경은 x86이고 vs2017 사용하고 있습니다 요약하자면 아래 그림과 같이 스택이 사용됩니다. 왜 이러는 건가요?

  • C++
lalala 댓글 1 좋아요 0 조회수 334

0 아니면 다 true라고 하셨습니다.

미해결

홍정모의 따라하며 배우는 C++

왜 알파벳 하나 입력 했을때 false가 나오나요? d나 다른 알파벳도 넣으면 false가 나옵니다. 강의 시간 - 18:45 비쥬얼 스튜디오 버젼 2019 16.7.5

  • C++
힙합맨제이지DV 댓글 1 좋아요 2 조회수 686

그래서 결국 클래스 내부의 _hp는 따로 캡처를 못하는건가요?

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

영상 마지막에 this를 캡처하게되면 어떻게되는지 잘 이해를 했습니다. 근데 결국 클래스내부에서 _hp만 캡처하여 사용하는방법은 없는건가요?

  • C++
사빈 댓글 1 좋아요 0 조회수 308

c언어로 질문드립니다!

미해결

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

질문1 c언어도 적혀있어서 c언어관련 강의인줄 알고 들었는데 c++수업이라 c로 바꿔서 코드 공부중인데요 c로된 코드자료는 없을까요? 질문2 "4.나이차이 강의"에서 파일을 이용한 c코드를 모르겠습니다 파일 읽어와서 작성하는 c코드부탁드립니다

  • C++
  • 코테 준비 같이 해요!
댓글 1 좋아요 0 조회수 264

헤더파일과 스마트포인터

해결됨

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

루키스님, 1강 강의를 다 듣고 배운 문법들을 최대한 사용해서 TextRPG를 만들려고 하는 중입니다. 전에 헤더파일에는 최대한 include를 지양해야 한다고 하셨는데 위의 사진과 같이 스마트 포인터를 사용하려면 어쩔수 없이 include를 해야하나요? 아니면 다른 방법이 있을까요?

  • C++
댓글 1 좋아요 0 조회수 377

RIP 레지스터

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

안녕하세요 다름이 아니라 rip 레지스터에 대해서 궁금한 게 있는데 rip 레지스터의 정의에 대해서 검색을 하니 1. 현재 수행 중인 명령의 주소를 가리키는 레지스터 2. 다음 수행 명령의 주소를 가리키는 레지스터로 나와있는데 2가지 의미가 동일한 의미인 것인가요? 아무리 생각해도 1번과 2번이 동일한 의미로 생각되지가 않습니다...

  • C++
한울 댓글 2 좋아요 0 조회수 1526

읽기 및 쓰기에 대해 파일 포인터가 하나만 있는 이유가 궁금합니다.

미해결

홍정모의 따라하며 배우는 C++

#include <iostream> #include <fstream> #include <string> #include <sstream> int main() { using namespace std; // 1. 파일 입출력의 파일 포인터 // 테스트용 텍스트 파일 생성 fstream fs{ "test.txt", std::ios::out }; fs.close(); fs.open("test.txt"); fs << "THIS IS FILE STREAM.\n"; // 읽기 및 쓰기에 대한 현재 파일 포인터의 위치를 콘솔창에 출력 cout << "읽기 위치: " << fs.tellg() << '\n'; // 예상: 0 (파일의 시작 위치) cout << "쓰기 위치: " << fs.tellp() << '\n'; // 예상: 22 (THIS IS FILE STREAM.\n를 쓴 후의 위치) cout << endl; // => 그러나 동일한 결과를 출력한다. // 2. 문자열 스트림 입출력의 스트림 포인터 stringstream ss; ss << "THIS IS STRING STREAM.\n"; string str; ss >> str; cout << "str: " << str << '\n'; // THIS cout << "읽기 위치: " << ss.tellg() << '\n'; // 예상: 4 (THIS를 읽은 후의 위치) cout << "쓰기 위치: " << ss.tellp() << '\n'; // 예상: 23 (THIS IS STRING STREAM.\n 이후의 위치) return 0; } 강의 시청 후에 learncpp.com에서 관련된 챕터를 복습하던 중에 파일 포인터는 읽기 및 쓰기에 대한 파일 포인터가 동일하다는 사실을 알게 되었습니다. 그래서 텍스트 파일을 생성해 임의의 문자열을 파일에 작성하고 tellg()와 tellq()로 확인해봤습니다. 결과는 동일한 위치를 반환했습니다. 읽기를 하지도 않았는데 말이죠. 그런데 일반적으로 생각해보면 입력과 출력에 대해 서로 개별적인 포인터를 가져야할 것 같은데 입출력의 기능을 모두 하는 스트림이 동일한 포인터를 가진다는 게 이해가 안돼서, 이번에는 다른 스트림인 문자열 스트림으로 테스트를 했습니다. 놀랍게도 문자열 스트림은 입출력에 대한 포인터를 독립적으로 보유하는지 tellg()와 tellq()는 서로 다른 위치를 반환했습니다. 구글링으로 답을 찾아보려 했지만 능력의 한계로 찾지 못 했습니다. 왜 입출력 파일 스트림만 동일한 포인터를 가지는 건가요? 단독 언어에 국한된 문제가 아니라 운영체제에 관련된 것일까요?

  • c++
  • 파일입출력
  • C++
  • 파일포인터
  • 스트림
  • 입출력
9iraffe 댓글 1 좋아요 0 조회수 571

수업 내용은 아니지만 AI, C++ 질문 드립니다.

미해결

홍정모의 따라하며 배우는 C++

안녕하세요 강사님의 c강의를 듣고 c++까지 듣다가 최근 python만 사용하느라 c++은 신경쓰지 못하고 있는 대학원생입니다... 제가 모 대학 AI 대학원에 진학중인데 python으로 작성한 코드를 c++로 쉽게 구현 할 수 있는지 구글링해보다가 반갑게도 강사님 블로그에서 관련 내용을 보았습니다. 그래서 혹시 실례가 안된다면 c++로 딥러닝을 구현하는 것에 대해 여쭤보고 싶은데요 1. python 코드를 c++로 변환해서 사용이 가능한지요??(간단하게) 가능하다면 어떤 방법을 써야 될까요? 2. python의 numpy나 pandas 같은 자료구조를 c++에서 어떻게 사용 가능할까요? 3. 머신러닝의 KNN(클러스터) PCA(차원축소) 딥러닝의 CNN, GAN 이러한 기법들을 c++로 쉽게 구현이 가능할까요? 그리고 RESNET이나 skip-gan 같은 커스터마이징 된 딥러닝 모델들도 쉽게 구현 가능할까요?? 질문이 과목과 거리가 있고 쉽지않은 내용 같지만 혹시 답변 가능하시면 답변해 주시면 감사하겠습니다!

  • ai
  • pyhthon
  • C++
  • c++
  • numpy
김동현 댓글 1 좋아요 0 조회수 1000

안녕하세요 질문이있습니다

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

연산자 오버로딩 전역함수 버전에서, ostream& operator<<(ostream& os, const Knight& k) { os << k._hp; return os; } 여기서 인자를 const Knight& k로 하면되고, const Knight* k로 하면 안되던데, &, * 둘다 주소값인데 왜 다른건가요?

  • C++
댓글 1 좋아요 0 조회수 233

placeholder

미해결

홍정모의 따라하며 배우는 C++

bind, placeholder라는 개념이 잘 이해가 안되는데요! 1. bind를 사용하는 이유가 무엇인가요? 2. placeholder의 의미가 무엇인가요?

  • C++
윤재웅 댓글 1 좋아요 0 조회수 1205

static 관련 질문이있습니다!

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

- 항상 좋은 강의 감사합니다. static질문이 있습니다. class Marine { public: //이 상태면 에러가 발생하는데, static int s_attack //전역으로 빼고 초기화를 해주면 에러가 발생하지 않습니다. } 왜 그런건지 궁금합니다. 따로 클래스 내부에서 static 변수를 초기화할려고 해도 에러가 발생하더라구요 무조건 클래스 밖에서 값 할당을 해주어야하나요?

  • C++
댓글 1 좋아요 0 조회수 262

연습문제 for문 풀이 순서를 잘 모르겠습니다

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

안녕하세요! 강의 너무 잘 듣고있습니다! 연습문제 풀이도중에 궁금한 부분때문에 질문 남깁니다! for 문 (초기식; 조건식; 제어식;) {} 에서 순서가 1번이 초기식 2번이 조건식 3번이 중괄호 안에 명령문 마지막으로 제어식이 실행되는걸로 알고있는데, 연습문제 별찍기 3번에서 for (int i = 0; i < input; i++) { for (int j = 0; j < (input - i); j++) { cout << "*" } cout << endl; } 이 부분에서 첫번째로 실행 되는게 1) int i = 0; 2) i < input; 3) 그 다음 for 문 4) *****출력 5) j++ 6) 한칸 띄고 7) i++ 인걸로 알고있습니다 이제 그러면 i++ 가 되었으니 input을 5라고 입력해줬을 때 1 < 5 나 똑같은 부분인데 이제 그 다음에 실행될 j부분에서도 j < (5 - 1) 이고 ****출력 후 j++가 되는데 그러면 이제 계속 증가하다보면 i 가 3이 되면 3 < input (5) 이고 다음 for문에서는 j < (input - 3) 이면 3 < 5 - 3부분이 되서 실행이 안되는게 아닌가요?? 제가 잘못알고 있는 부분이 있을거라고 생각하는데 어느 부분인지 잘 이해가 안가서요! 검색을 해도 강의만큼 크게 머리 속으로 잘 들어오질 않네요!

  • c++
  • C++
츄르보단캣닢 댓글 1 좋아요 0 조회수 240

언어는 어느정도 공부하고 넘어가는게 좋을까요?

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

루카스님 강의 외에도 홍정모님 c++강의도 보는데요 일단 강의는 완강하고 이해 안가는 부분은 3~4번 돌려보고 그랬는데 사실 완강을 해서 문법은 어느정도 안다고 생각은 하는데 문법을 제대로 사용할 수 있냐라고 하면 아니라고 생각해요.. 공부하고 다음으로 넘어가는 기준을 어떻게 새워야 하는지 모르겠습니다.. 제가 c++ -> 다렉12 -> 언리얼 순으로 공부해서 게임하나 출시해보고 취업할 생각이거든요.. "이 정도면 c++ 기초 수준은 된다 이제 다렉으로 넘어가도 되겠다!"가 어느 정도일까요.. 머리가 나빠 언어공부를 오래해서 그런지 사실 점점 흥미도 떨어지고 빨리 구현하고 움직이는걸 보고싶고.. 괜히 조바심에 대충하고 넘어가서 나중에 이상한 버릇이 생기거나 할까봐 무서워요.. c++언어 완강을 하고 다렉으로 넘어가도 될지.. c++에 기초는 넘겼다는 기준이 뭘지.. 이럴떈 어떻게 해야될까요? ㅠ

  • C++
최지로 댓글 2 좋아요 0 조회수 989

인기 태그

인프런 TOP Writers

주간 인기글