프로그래밍 QnA

trymp의 이미지

c++ 에서 < > 에 의미 좀 알려주세요.


C 만하다가 C++ 쓸일이 있어서 공부하는 사람입니다.

STL 강좌에 있는 부분중에 이해가 안가는 부분이 있어서 그러는데요

template 여기서 "< >" 이게 어떤 의미로 사용되는 거죠?

함수 인자가 들어가는 건가요? "( )" 안에가 함수 인자 아닌가요?

< > 의미 좀 알려주세요.

wjdtlsckfu의 이미지

fstream 의 eof에 관해서 질문합니다.

파일 인풋을 받는데 파일의 마지막 라인이 두번 읽힙니다. 왜그런건가요?

std::ifstream files(file);
while(!files.eof())
{
   if(cycle==0)
     files>>v1>>v2;
   else
   {
    files>>v1>>v2>>w;
    std::cout<<v1<<" "<<v2<<" "<<w<<std::endl;  
   }
   ++cycle;
}

input.txt는 이렇게 생겼습니다.

7 8
0 1 1
0 2 5
1 3 2
1 4 3
2 5 6
3 6 7
4 6 4
5 6 8

dbsthqkf의 이미지

fork()를 사용해서 여러개의 프로세스를 생성한다???

네 fork의 기능이 부모 프로세스를 복제하여 자식 프로세스를 생성한다라는 것은 알겠습니다.

1. 그렇다면 부모 프로세스를 복제하면 똑같은 프로세스가 하나더 생성되는데 왜 굳이 똑같은 프로세스를 생성하는 것일까요?
똑같은 프로세스를 다른 프로세스로 바꾸어서 다른 기능을 하도록 하는 것이 exec()함수인가요?

2. 그렇다면 fork()를 한 후에 반드시 exec()를 사용해야 fork함수가 존재하는 이유가 되는 건가요?

3. 꼭 exec()함수를 쓰지 않는다면 왜 똑같은 프로세스를 만드는 것인가요?

4. 컴퓨터의 cpu는 1개당 1개의 프로그램을 실행시킬 수 있는데 여러가지 프로그램이 작동하는 것 처럼 보이는 이유는
컴퓨터가 시분할 시스템이기 때문에 가능하다는 것인데. 그렇다면 인터넷, power point, 미디어 프로그램 등등 여러가지 프로그램을 실행시키는 것이 가능한 이유가
fork()를 사용했기 때문인가요?

5. 제가 앞에서 말한 것들이 틀리다면.. fork를 실제 우리가 친숙하게 쓰이는 예로 설명해주세요 ㅠ_ㅠ

HDNua의 이미지

하나의 배열을 이용해 세 개의 스택 만들기

이번엔 질문은 아니고, 책에서 본 재밌는 프로그래밍 문제가 있어서 왔습니다.

하나의 배열을 이용해 스택을 세 개 만들라는 내용인데,
예전 어셈블리 공부할 때 배웠던 스택 지식과, 스택-힙은 서로 만나도록 만든다는 교수님 설명을 이용해 재미있게 풀 수 있었네요.

저 같은 경우 [head->bottom|bottom->head|head<-bottom]과 같은 형식으로 해결했는데, 이외에 다른 방법이 있을까요?
제 풀이는 첨부하였습니다.

livey의 이미지

가상머신, 바이트코드 질문.

sqlite 를 공부중인데 sql문이 컴파일되면 바이트코드로 변환되어 sqlite 만의 가상머신VDBE 에서 실행된다고하는데 가상머신이라는건 자바나 닷넷 vmware 등만 생각했는데 sqlite 에도 가상머신이 있다는게 좀 놀라웠습니다.

플랫폼 독립적인 처리를 위해 바이트코드로 변환되어 가상머신에서 작동하는걸로만 알고있는데
몇가지 궁금한거 적어봅니다.


1. 바이트코드/가상머신 사용시 플랫폼 독립적인 장점 외에 또 다른 장점이 있는건지.
2. 바이트코드/가상머신 구조와 작동원리.
2. 제가 알고있는것 외에 가상머신, 바이트코드를 어떤곳에 활용할 수 있는지
4. 직접 간단하게 가상머신을 만드는것도 가능한지


갑자기 궁금해졌는데 자세히 좀 알고싶습니다. (__)

dltkddyd의 이미지

삽입정렬에서 교환을 하는 경우도 삽입정렬이라 할 수 있을까요?

삽입정렬을 insertion sorting라고 하더군요. 제가 직접 코드를 짜봤는데, 정렬된 부분을 삽입항목이 있을 때 오른쪽으로 옮기는 것이 번거롭고 더 더딘 것 같아서 swap을 사용했습니다. 코드는 아래와 같고요.

kkr1211의 이미지

디어셈블리 했을때 나오는 mov r0, r0에 대해서

#include

int main(void)
{
int i = 0;
int k = 5;
int save[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

while(i++ < k);

printf("%d", save[i]);
return 0;
}

//////////////////////////////////////c 코드

dbsthqkf의 이미지

리눅스가 모든 장치들을 파일로 간주한다는게 무슨말이에요

파일이라고 하면 문서파일이라고 밖에 떠오르지가 않는데
파일로 간주한다는게 도대체 무슨말인가요 ,..

아무것도 모르는 초등학생에게 설명하듯이 해주세요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

dbsthqkf의 이미지

[linux] int main 매개인자로 argv를 받는 이유?

./text라는 실행파일이 있으면
./text something
을 입력해서 argv를 받아오는데요..
왜 argv를 쉘에서 받죠? 그러니까
scanf라던가 그런 것들이 있는데 왜 굳이 쉘에서 입력받는지 궁금해요

jun_1637의 이미지

C#에서 네트워크통신이 되는 게임을 만들고 있는데, 통신에 관련해서 질문입니다.

숫자퍼즐 게임을 윈도우폼으로 만들었고,

해당 숫자 퍼즐을 즐기면서 서버와 클라이언트간에 통신이 가능한 그런 프로그램을 C#을 공부하면서 만들고 있습니다.

근데 이런 숫자퍼즐을 즐기면서 통신까지 하기 위해선 개발을 비동기소켓프로그래밍으로 만들어야 할까요?

페이지

프로그래밍 QnA 구독하기