묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨C개발자를 위한 최소한의 C++
인스턴스의 개념에 대해 int a(3), int(5) 예시를 바탕으로한 질문입니다.
안녕하세요, 강사님.int a(3)은 인트형식(혹은 클래스)의 인스턴스 a를 3으로 초기화 한것이고, 상수 5가 int(5) 인트형식(클래스)의 인스턴스 5라고 한다면,Q1 인트형식의 상수들은 다 인스턴스인 것인가요?Q2 int(5)라는건 식별자가 없는 인스턴스 인거고 가령, int(5) + int(3) == int(7) 이렇게 기술했을때 참이 되나요?
-
해결됨C개발자를 위한 최소한의 C++
식별자 검색 순서 관련 namespace 생략 관련 오류에 관한 질문
강의 식별자 검색 순서 5분 50초 쯤에서 namespace안 Test int data를 주석하는 경우namespace Test 안의 cout << data<< endl; 에서 data가 모호성이 발생해서 에러가 나는 예시를 보여 주셨습니다. 그 이유를 data의 모호성으로 인해서 global space에 만 data가 있고 cout을 하는 Test namespace에서 data가 없으면 에러를 발생 한다고 하셨는데 std::data 와의 모호성 때문에 생기는 거로 생각 되고 namespace test안에 없고 외부에만 변수가 있더라도 std 같은 중복되지 않는 경우에는 빌드할 때 모호성때문에 에러가 발생 하지는 않지 않나요?물론 이렇게 하면 코딩할 때 햇갈리긴 할꺼 같습니다.
-
해결됨C개발자를 위한 최소한의 C++
마지막 주소록 예제 c 파일 한글 깨짐 현상
안녕하세요, 강사님! 양질의 강의 제공해 주셔서 감사합니다.완강까지 마지막 주소록 예제만을 남겨두고 있는데, 다른 cpp 예제들에서는 보이지 않던 한글 깨짐 현상이 발생해 진행에 어려움을 겪고 있습니다. 혹시 해결 방법이 있을까요?
-
해결됨C개발자를 위한 최소한의 C++
nullprt vs null
안녕하세요. 마지막 주소록 예제를 따라하면서 궁금한 부분이 있어 질문드립니다. 두 가지 예제를 비교했을 시, 포인터를 초기화 시, NULL / nullptr 두 가지 방식을 모두 사용되고 있습니다. NULL로 초기화와 nullptr 초기화 방식에 있어, 어떠한 기준이 있는지 궁금합니다 ~ int MyList::addNewNode(const char* pName, const char* pPhone) { UserData* pNewUser = nullptr; // nullptr로 초기화 if (findNode(pName) != nullptr) return 0; pNewUser = new UserData; strcpy_s(pNewUser->name, sizeof(pNewUser->name), pName); strcpy_s(pNewUser->phone, sizeof(pNewUser->phone), pPhone); pNewUser->pNext = NULL; // NULL로 초기화 return 0; }void CMyList::releaseList(void) { CUserData *pTmp = m_Head.pNext; CUserData *pDelete = NULL; while (pTmp != NULL) { pDelete = pTmp; pTmp = pTmp->pNext; delete pDelete; } m_Head.pNext = NULL; }
-
미해결맥으로 배우는 윈도우즈 포렌식
수강이 다 했는데 왜 29강중 왜24강만 진척되었다고 할까요
수강이 다 했는데 왜 29강중 왜24강만 진척되었다고 할까요
-
미해결맥으로 배우는 윈도우즈 포렌식
프로그램 설치 방법
강의 자료 샘플을 (1) 부터 (4) 까지 다운로드하여 수업을 진행하시면 됩니다. 라고 되어 있는 데 설치 방법에 대한 자세한 설명필요합니다.
-
미해결맥으로 배우는 윈도우즈 포렌식
homebrew 어떻게 설치하나요
homebrew 어떻게 설치하나요
-
미해결[보안] Wazuh+ELK(SIEM)를 활용한 위협헌팅(Threat Hunting) 시스템 구축 및 운영실습 (기초)
로그 한글 지원 등
안녕하세요. 제로미니 강사님 덕분에 wazuh 설치 및 에이전트 적용까지 할 수 있었습니다.추가로 wazuh에서 기본으로 제공하는 document 문서 이해방법도 늘었습니다. 추가로 궁금한 점이 있어 질문드립니다.파일명 : 한글파일내용 : 한글이 포함된 웹쉘파일 일때, wazuh 이벤트로그에서 보면 한글이 깨져있메일알람도 연동시켜서 받아봤는데 같이 깨지고 있습니다. 한글 안깨지게 하는 방법은 없는지 질문드립니다. wazuh 서버 리눅스는 ko_KR.utf8로 설정되어 있습니다. 감사합니다.
-
해결됨[보안] Wazuh+ELK(SIEM)를 활용한 위협헌팅(Threat Hunting) 시스템 구축 및 운영실습 (기초)
우분투 24.04에서 Install Sysmon설치시 에러 발생
✨ 질의 안내선수 지식이 부족하더라도 걱정하지 마세요. 강의를 통해 필요한 내용을 차근차근 배워나갈 수 있습니다.각 항목별 추천 자료를 통해 기본 지식을 탄탄히 하면 강의 내용을 더 깊이 있게 이해하고 활용할 수 있습니다.디스코드 또는 인프런으로 질문주시면 바로 답변드리겠습니다디스코드 채널 :https://discord.gg/uCQEnRaSMG안녕하세요 유익한 강의 잘 듣고 있습니다. 04_Agent 방식 Wazuh Sysmon 연계 구축하기(Linux) 강의 수강중 3:58초 부분의 우분투 Sysmon설치시 에러가 발생합니다. 에러는 다음과 같았습니다unable to locate package sysmon for linuxdpkg: error: cannot access archive '-': No such file or directorypackages-microsoft-prod.deb: Permission deniedMicrosoft 리포지토리 추가 자체가 안되는것으로 보였고 구글링을 해도 명확한 방법을 찾지 못했는데 wget -q ~/packages-microsoft-prod.deb https://packages.microsoft.com/config/ubuntu/23.04/packages-microsoft-prod.deb리눅스 버전을 23.04로 넣어주니 설치가 가능했습니다.혹시나 저와 같은 어려움을 겪고 계실 분들이 있을까 싶어 글 올려봅니다.
-
해결됨C개발자를 위한 최소한의 C++
쓸데없지만 질문드리고싶습니다
안녕하세요. 항상 양질의 강의 감사합니다.link 오류시, 컴파일러가 맹글링 해놓은 함수의 진짜 이름이 출력되고, 이러한 오류를 dll 을 사용함에 있어서 자주 볼 수 있다고 말씀하셨는데 리눅스에서 라이브러리든 실행파일이든 용량을 조금이나마 줄이기위해 stip??? 명령어를 사용해 디버깅 심볼을 없앨 수 있었던 것으로 기억합니다.근데, 디버깅 심볼에는 변수, 함수이름, 소스코드 줄 번호등 다양한 정보가 들어가 있다고 배웠었는데, 해당 명령어로 디버깅 심볼을 없애버린 라이브러리 파일을 사용하여 만든 소스파일을 빌드하는 경우에서, 링크 오류가 나게되면 어떠한 현상이 이뤄지는지 궁금합니다
-
해결됨C개발자를 위한 최소한의 C++
복사 생성자 질문 드립니다.
21분37초의 코드와 결과를 보면 testFunc(10)에서 반환한 인스턴스가 블록을 벗어남과 동시에 소멸을 하게 되어서 ~TestData(10)이 먼저 나와야 할 것 같은데 결과는 ~TestData(100)이 먼저 프린트 되고 있습니다. 강의 중간 부분까지는 강사님이 "객체는 블록을 벗어나면서 소멸되고, 복사 생성자가 호출이 되어서..." 이런 방법으로 설명해주시다가 21분 37초의 코드는 결과만 보여주고 넘어가셔서. 정확히 어떤것 때문에 저런 결과가 나왔는지 궁금합니다!
-
해결됨C개발자를 위한 최소한의 C++
생성자 궁금한거 있습니다
#include <iostream>using namespace std;class MyClass {public:MyClass(int a) : m(a) {cout << "base" << endl;}MyClass(const MyClass& rhs) : m(rhs.m) {cout << "copy" << endl;}~MyClass() {cout << "delete:" << m << endl;}void print() {std::cout << m << std::endl;}private:int m;};MyClass test(MyClass rhs){return rhs;}int main() {MyClass a = 10;MyClass b = MyClass(50);MyClass c = a;return 0;}결과로 base, base, copy, delete: 10, delete: 50, delete: 10이 출력됐습니다.[질문]MyClass a = 10;MyClass b = MyClass(50);이 둘의 차이가 무엇인가요? 특히 MyClass b = MyClass(50);의 base만 출력은 이해가 되지 않습니다.일단 임시객체를 만들었으니 base, 그리고 임시객체를 const MyClass& rhs의 인자로 넘겨줘서 copy, 그리고 다음줄로 넘어가면 쓸모없어진 임시객체 MyClass(50)이 삭제되서 delete 이렇게 3개가 출력될줄 알았는데 base만 출력돼서 이해가 되지 않습니다.. (이 부분은 찾아보니까 복사 엘리전이라고 하는데 맞나요?? 그래서 복사 생성자를 안쓴다는데 헷갈리네요 ㅠㅠ)그리고MyClass b = MyClass(50);MyClass c = a; 이 둘의 차이도 알고싶습니다.b,c 둘다 객체를 인자로 받고있습니다. 근데 b는 base를 출력하고 c는 copy를 출력합니다. 왜 b가 base를 출력하나요? 이와같은 복잡함을 덜기위해 explicit를 사용하는건가요?
-
해결됨C개발자를 위한 최소한의 C++
네가지 형변환 강의 질문
제가 c++ 강의를 보면서 무언가 빼먹은거 같아서 질문을 드려봅니다...강의 설명 중 3분즈음에 등장하는 const_cast를 설명하실 때 궁금한 내용입니다.const MyData& rdata = a; 일때rdata의 멤버접근을 할 수 있는거는 const 키워드가 붙은것만 가능하다고 하셨는데그 자세한 이유가 궁금합니다 <상수형 참조가 상수형 메서드만 호출>
-
해결됨C개발자를 위한 최소한의 C++
CMyString Step10 강의 질문
강의 2분 50초 쯤에 등장하는virtual void onSetData(const char*& pParam)에서 포인터 변수의 값을 바꾸기 위해 &참조자를 추가하셨습니다.const가 붙은 시점에서 연산자 우선순위가 어떻길래 값이 변경가능해진 것인지 궁금합니다!
-
해결됨[보안] Wazuh+ELK(SIEM)를 활용한 위협헌팅(Threat Hunting) 시스템 구축 및 운영실습 (기초)
실습파일 다운로드 링크 비밀번호가 틀리다고 나옵니다.
✨ 질의 안내선수 지식이 부족하더라도 걱정하지 마세요. 강의를 통해 필요한 내용을 차근차근 배워나갈 수 있습니다.각 항목별 추천 자료를 통해 기본 지식을 탄탄히 하면 강의 내용을 더 깊이 있게 이해하고 활용할 수 있습니다.디스코드 또는 인프런으로 질문주시면 바로 답변드리겠습니다디스코드 채널 :https://discord.gg/uCQEnRaSMG
-
해결됨C개발자를 위한 최소한의 C++
임시 객체와 보이지 않는 복사 생성 강의 질문
임시 객체 개념 자체가 많이 낯설어서 2가지 질문을 해보려고 합니다 ㅠㅠ클래스가 함수의 매개변수나 반환자료형일 경우, 상수형 참조를 하라고 하셨는데특별히 이렇게 해야하는 이유가 있는걸까요??19분쯤에 등장하는 예제에서 함수의 매개변수를 상수형 참조로 바꿔도 여전히 변환생성자가 불러와지는 걸 봤을 때는 특별히 차이점이 있어보이지 않습니다... 17분 50초 쯤에 등장하는 '비const 참조는 lvalue에만 바인딩할 수 있습니다" 라는 오류가 등장하는데 이 오류가 이해가 되질 않습니다..
-
해결됨C개발자를 위한 최소한의 C++
섹션8 3번째 강의 (실습 프로젝트 - 문자열 필터개선) 질문
void CMyStringEx::onSetData(const char*& param) { cout << "CMyStringEx::onSetData" << endl; if (param != nullptr) { if (strcmp(param, "FORBID") == 0) { param = "****"; } } CMyString::onSetData(param); return; }실습 코드 관련 질문입니다파라미터가 const char*& 로 되어있는데 아래 param = "****" (강의 코드기준 param="우리귀요미")처럼 매개변수에 대입을 하는 부분이 있는데 const가 붙어있어도 매개변수 값 수정이 가능한가요?
-
해결됨C개발자를 위한 최소한의 C++
차이점을 잘 모르겠습니다.
주신 프로그램 중 constructSelect.cpp 에서 디폴트 생성자를 지우면 에러가 발생하는데 virtualFunction 에서는 디폴트 생성자가 없어도 동작합니다. constructSelect.cpp 에서 선언 방식이 아닌 new 연산자를 사용해서 해봐도 에러가 발생하고객체 내에 멤버메서드가 없어서 그런가 해서 멤버를 만들어도 에러가 발생합니다VirtualFunction 내의 소멸자의 virtual 을 제거해도 이건 잘 작동합니다.눈으로 봐서는 도저히 차이점을 모르겠습니다.
-
해결됨C개발자를 위한 최소한의 C++
이동생성자 관련
안녕하세요. 선생님 이동 생성자 강의 내용 중 질문이 있습니다. (아래 코드 참고) delete pnData를 하면, 포인터 변수가 해제되어pnData = rhs.pnData;를 실행할 수 없는 것이 아닌지 궁금합니다. 실재로는 포인터 값은 그대로고, 가리키는 값(int 0)만 삭제되는 것인가요? 포인터 값은 놔두고 가리키는 값만 없애는 문법은 어떻게 되나요? delete를 안하고, pnData = nullptr; 로만 수정해도 됬을 것 같습니다. class TestData { public: TestData(){ pnData = new int(0); } ... TestData(TestData&& rhs) noexcept{ delete pnData; pnData = rhs.pnData; rhs.pnData = nullptr; } ... TestData& operator=(TestData&& rhs) noexcept{ delete pnData; pnData = rhs.pnData; rhs.pnData = nullptr; } }
-
해결됨C개발자를 위한 최소한의 C++
new/ delete 질문
포인터 new 시, 주소값과 가리키는 Data 메모리도 동시 할당되나요?포인터 delete 시, 주소값과 가리키는 Data 도 메모리도 해제? 혹은 주소값만 해제되나요?