목록분류 전체보기 (129)
YS's develop story
안녕하세요 ~ 오늘은 간단하게 assert 매크로에 대해서 정리해봤습니다. assert 매크로는 C++에서는 cassert 헤더 파일에 정의되어 있으며 C에서는 assert.h 헤더파일에 정의되어 있습니다. 이 매크로는 정해진 조건에 맞지 않을 때 프로그램을 중단합니다. 즉, assert에 지정한 조건식이 false일 때 프로그램을 중단하며 true일 때는 프로그램이 계속 실행합니다. 이는 잘못된 값이 입력되었을 때 프로그램을 사전에 중단하여 치명적인 버그를 예방하는데 사용합니다. 아래의 예제 코드를 살펴봅시다 ~ #include #include using namespace ::std; void positiveInteger(int poi) { assert(poi > 0); cout
안녕하세요 ~ 오늘은 Java공부를 하면서 알게된 String toString()메소를 정리하려고 글을 작성하게 되었습니다. 바로 소스코드를 살펴봅시다 ! 아래와 같이 class Circle이 있습니다. class Circle { private int x; private int y; private int radius; Circle(int x, int y,int radius){ this.x=x; this.y=y; this.radius=radius; } } 그리고 c1이라는 이름을 가진 인스턴스를 생성하고, 다음과 같이 소스코드를 작성해 줍시다. class JavaPractice { public static void main(String[] args) { Circle c1 =new Circle(5,6,10)..
안녕하세요 ~ 오늘은 기본 인수 재정의라는 에러와 함께 함수의 디폴트 값은 함수의 선언에 작성해야 한다는 것을 정리하기 위해 글을 씁니다. 바로 예제 코드를 확인해 보겠습니다~ 우선 헤더파일에 hello함수 선언을 작성해주고, 함수의 디폴트 값을 작성해줍니다. 디폴트 값이란 사용자가 함수의 매개변수로 아무런 값을 입력하지 않았을 때 자동으로 저장되는 값 입니다. 즉, 사용자가 hello함수를 호출 할때 매개변수로 아무런 값을 지정해 주지 않으면 자동으로 i가 10으로 설정되는 것이죠. void hello(int i=10); 그리고 함수의 정의를 작성해 줍시다. void hello(int i=10){ cout
안녕하세요 ~ 오늘은 간단하게 char[], char *의 정리하는 글을 쓰고자 합니다. 아래 코드를 살펴봅시다 !~! int main() { char* name1 = "Yu sang blog"; char name2[] = "Yu sang blog"; printf("%s\n", name1); printf("%s\n", name2); return 0; } 위 코드의 실행결과는 아래와 같습니다. 두 코드의 실행결과는 같습니다.! 하지만 명백하게 차이점이 있습니다. char * name1은 "Yu sang blog"가 저장되어 있는 메모리의 주소를 저장하는 것이고 char name2[]는 char형 배열에 각각의 문자가 그대로 저장되어 있는 것이죠. 그래서 name2의 문자열의 내용을 아래와 같이 바꿀 수 있..
안녕하세요 ~ 오늘은 java에서 문자열 생성을 위한 두 가지 방법의 차이점에 대해서 궁금해서 직접 찾아보고 이를 정리하고자 글을 작성합니다. ~! 자바에서 문자열 정보를 담고 있는 String 인스턴스 생성방법에는 두가지가 있습니다. String str1 = "check string"; String str2 = new String("check string"); 보편적으로는 str1의 생성방법으로 생성을 많이 하죠 ~ 그럼 첫번째 줄의 생성방법과 두번째 줄의 생성방법에는 어떤 차이가 있을까요?? 아래의 예시를 통해서 확인해보죠 ! 첫번째 방법으로 String 인스턴스를 생성했습니다 ! class JavaPractice { public static void main(String[] args) { Strin..
C++ ) Const reference parameter , Value parameter 의 비교 오늘은 Const reference parameter와 Value parameter을 비교해보고 각각 어느 상황에 쓰이는지 정리해 보았습니다. 참고로 Parameter은 매개변수라는 의미입니다 ! 우선 아래의 Value parameter을 살펴보죠 ! 여기 multiply라는 함수가 있습니다. 이 함수의 parameter는 Value parameter입니다. 원래의 값을 복사해서 함수에서 호출을 하는 것이죠. int multiply(int valueParameter) { return valueParameter*valueParameter; } 다음은 아래의 Const reference parameter을 살펴..
안녕하세요 ~ c++ 공부를 하다가 헤더파일 를 추가하고 사용할 수 있는 copy에 대해서 정리하고자 글을 작성합니다. 우선 헤더파일을 추가 한 다음.. #include #include #include #include #include using namespace::std; 아래와 같은 형식으로 copy 함수를 사용할 수 있습니다. copy함수는 첫번째 인자부터 두번째 인자까지의 모든 원소들을 세번째 인자의 시작 위치로 복사하는 함수 입니다.!! array[0] 부터 array[3]까지의 값을 복사해서 array2[2]이후부터에 저장하라는 의미입니다. copy함수의 인자값을 조금 바꾸어 주었는데, array[0]부터 array[3]까지의 값이 array2[0] 뒤에부터 저장된 걸 확인할 수 있습니다. 마찬..
c++ 공부중 발생한 에러.. 뭐가 잘못된건지 잠깐 생각했는데 너무 바보같은 실수였던 것 Point 클래스를 생성할 때 생성자를 = 을 사용하는 실수를 했다.. 이렇게 수정하면 에러가 해결된다. Point operator-(Point& pos1, Point& pos2) { Point pos(pos1.xpos - pos2.xpos, pos1.ypos - pos2.ypos); return pos; } 이런 바보 같은 실수는 다시 하지 말자 ㅎㅎ
시스템 콜이란? 응용 프로그램은 하드웨어에 직접 접근할 수 없는데, 응용 프로그램이 하드웨어 접근할 수 있도록 커널이 응용프로그램에게 제공하는 함수. 커널이 무엇이냐고요? 간단히 설명하면 운영체제 내부에 있는 아주 중요한 프로그램을 '커널'이라고 합니다 사전에 명시되어 있는 자세한 의미는.. 컴퓨터 과학에서 커널은 컴퓨터의 운영 체제의 핵심이 되는 컴퓨터 프로그램의 하나로, 시스템의 모든 것을 완전히 통제한다. 운영 체제의 다른 부분 및 응용 프로그램 수행에 필요한 여러 가지 서비스를 제공한다. 시스템 콜 중에서 파일을 만들고 수정하고 읽는 '파일 접근 프리미티브'라고 불리는 open(), write(); read().. 함수들이 존재합니다. 이렇게 open함수를 사용하면 "newFile.txt"라는 파..