윤성우님이 쓴 열혈강의 c++을 보다가 이런 문구를 발견했다. 

프로그래머로써 발걸음을 한발 디디는 순간에

그리고 걸어가는 과정속에

마지막 발걸음을 옮기는 순간까지 잊지 말아야 겠다는 생각에 여기다 옮겨 적는다.


"가져다가 쓰는 것은 누구나 할 수 있다. 그것도 쉽게 할 수 있는 일이다. 그러나 그 원리를 이해하고 직접

구현하는 것은 쉽게 이뤄지지 않는다. 조금 더 발전 가능성 있는 개발자가 되기 원한다면, 

잘 구현된 List 자료 구조를 가져 다가 쓰는 방법을 익히는 것이 아니라,

원리를 이해하고 List 자료 구조를 직접 구현할 수 있는 능력을 기르는 것이다."

'개발 이야기 > 나는프로그래머다' 카테고리의 다른 글

큰 그림을 그릴 수 있는 화가.  (0) 2013.08.06
Posted by Yann'
,

소스를 수정 하거나 리팩토링 작업을 하다 보면

구조체나 클래스의 구조를 바꿔야 하는 경우가 종종 생긴다.(사실 얼마 안해봤지만 그럴 것 같다.)

그러다 보면 연쇄 작용으로 다른 함수들도 변화를 줘야 하는 경우가 생기는데(못해서 생기는 건가는 모르겠다)

머리속으로는 이건 이렇게 바꾸고 이걸 추가해주고 저기다 저걸 해주면 되겠네.

하고 생각하지만 내 손가락은 움직이지 않는다.

그저 5초동안 뇌세포를 썼을 뿐인데, 아침 6시에 기상해서 싸이클 타러 가려고 할때의 귀차니즘이 몰려온다.

그 시간에 코딩 했으면 다 바꿨을걸.....


Posted by Yann'
,

질)

int test ( int a = 0, bool isTrue = false) { ; }

기본자료형의 경우는 디폴트(default)값을 주어

전달 받은 인자가 없어도 인자에 값의 초기화가 가능하다.


하지만 아래와 같이 인자를 &연산자를 통해 alias하는 경우

default값을 주면 컴파일 에러가 발생한다. (아무 인자도 받지 못했을시 NULL 지정을 하기 위해)

그렇다면 default값을 줄 수 있는 방법은 없는 것인가?

int test ( string &name = NULL ) { }



답)

'개발 이야기 > 나혼자질답' 카테고리의 다른 글

유지보수의 중요성.  (0) 2015.01.05
Posted by Yann'
,

a = '가';

if( a & 0x80 ) //128 = 1000 0000

printf("한글");

else

printf("영어");


출력 : 한글

Posted by Yann'
,

str1 속에서 str2가 시작되는 인덱스 검색


#include <stdio.h>

#include <string.h>

int main (void){

char str1[] = "Hello World!";

char str2[] = "H";

printf("%d\n", strstr(str1, str2) - str1);

}



VB로 치자면 InStr함수


- 대소문자 구별 안하는 기능 추가 

- 임의의 위치부터 검색할 수 있는 기능 추가


Posted by Yann'
,

#include <stdio.h>

#include <string.h>

#include <stdlib.h>


char* rtrim(char *str)

{

char * result;

int len = strlen(str);

int i = len;

int end=0;

result = (char *)calloc(len,sizeof(char));

strcpy(result, str);


while(i>0)

{

if( result[--i] == ' ' || result[i] == '\n' || result[i] == '\t' ) continue;

end = ++i;

break;

}

result[end] = '\0';

return result;

}


int main (void){

char temp[] = "test    \n    test2    \t \n";

char* result;

printf("[%s]\n", temp);

result = rtrim(temp);

printf("[%s]\n", result);

return 0;

}

Posted by Yann'
,

strtok(str, tok); // 문자열 str을 tok으로 자르는 함수다.

처음 호출시 

strtok(str, tok);

를 호출 하고 이후에는

strtok(NULL, tok); 

를 남은 세그먼트 수만큼 호출하여 나머지 세그먼트를 분리한다.

더이상 반환할 문자열이 없으면

NULL을 반환


ex)-------------------

#include<string.h>

#include<stdio.h>

int main()

{

    char input[16] = "abc,d,e, fg";

    char *p;

    p = strtok(input, ",");


while(p){

printf("%s\n", p);

p = strtok(NULL, ",");

}

    return 0;

}

Posted by Yann'
,

int arr[10];

printf("%d\n", sizeof(arr)/sizeof(int)); // 10 출력


2.

int arr[10][20];

printf("%d\n", (sizeof(arr)/sizeof(int)) / (sizeof(arr[0])/sizeof(int))); // 20 출력


Posted by Yann'
,

#include <ctype.h>
#include <stdio.h>
#include <conio.h>

int main(void) {
  char st[40]="hello world";
  int i;
  for (i = 0; st[i]; i++)
  st[itoupper(st[i]);
  printf("The uppercase of String= %s\n", st);
  getch();
  return 0;
}

Posted by Yann'
,