본문 바로가기

Development

(128)
Inline function #3 C++ Inline Functions In this tutorial, we will learn about inline functions in C++ and how to use them with the help of examples. In C++, we can declare a function as inline. This copies the function to the location of the function call in compile-time and may make the program execution faster. Before following this tutorial, be sure to visit the C++ Functions. Inline Functions To create an inli..
Inline Funtion #2 - Syntax, Examples. When working with a programming language, we can use several methods to optimize the code and enhance a program’s performance. For example, in the C language, the Macro function is used to reduce the program’s execution time. Since C++ is an extension of C, it also provides a function called the inline function, which can speed up a program by reducing the execution time. In this article, we wil..
Inline function #1 https://youtu.be/D7j7qhfjFRI
(const MyClass& object) VS (MyClass& object) If you want to pass class instances (objects), you either use void function(const MyClass& object){ // do something with object } or void process(MyClass& object_to_be_changed){ // change member variables } On the other hand if you want to "pass" the class itself template void function_taking_class(){ // use static functions of AnyClass AnyClass::count_instances(); // or create an object of AnyC..
2차원 배열과 포인터배열(2차원 문자배열) 이번에는 여러 개의 문자열을 처리하기 위한 2차원의 문자배열을 살펴볼거에요. 하나의 문자열을 저장하기 위해서는 하나의 문자배열이 필요해요. 따라서 많은 문자열을 저장하기 위해서는 2차원의 문자배열을 사용해야 할 거에요. 각 행이 하나의 문자열을 저장한다 5개의 동물이름을 저장할 2차원의문자배열을 선언하고 문자열들을 저장해 봅시다. 5개의 문자열을 저장해야 하므로 행의 수는 다섯 개이며 열의 수는 가장 긴 문자열도 저장될 수 있도록 넉넉하게 선언하면 될 거에요. 물론 널문자까지 포함시켜야 하구요. char animal[5][20]; // 5개의 문자열을 저장할 2차원 문자배열 animal 문자배열을 선언하면 다음과 같이 100개의 char형 기억공간이 할당될 거에요. 여기서 각 행은 하나의 1차원 문자배열..
배열과 포인터(포인터로 배열 다루기 1.) 포인터 챕터를 마치고.... 배열과 포인터라는 챕터로 들어왔네요. 공부해본 결과..약간 개념적인 이해가 필요한 듯 하니 이해가 가지 않으면 여러번 다시 생각해봐야 할 거 같네요. 포인터로 배열 다루기 배열은 많은 양의 데이터를 효율적으로 처리할 수 있는 훌륭한 자료구조에요. 변수들이 메모리의 연속된 기억공간에 할당되어 있으므로 반복문을 사용할 수 있다는 것이 큰 장점이였죠? 그러나 덩치가 큰 만큼 쉽게 움직일 수 없다는 단점도 갖고 있어요. 예를 들어, 아래와 같이 초기화된 배열이 있다고 했을때, int ary[5] = [10,20,30,40,50]; 이 배열의 모든 값을 한번만 출력한다면 반복문을 사용하면되요. 하지만 프로그램 전체에 걸쳐 빈번하게 출력해야 한다면 함수를 만들어 호출하는게 좋겠죠? 배열..
[C언어] 포인터 장단점, 포인터와 배열의 차이 포인터란 자료가 저장되는 기억장치의 기억주소를 가리키는 지시자로써 포인터는 다른 기억장소의 자료를 참조하는데 사용되는 데이터입니다. 1. 포인터를 써야 하는 이유 어떠한 변수이든지 어떠한 버퍼를 할당 받아서 사용하는데, 모든 변수의 저장과 참조는 변수가 저장될 혹은 저장된 주소를 알아야 가능하다. 그래서 컴퓨터는 변수를 참조할 때 그 변수가 저장되어 있는 주소를 먼저 찾아내고 그 주소가 가리키는 내용을 참조하게 된다. 이렇게 변수의 주소를 저장하거나 사용하기 위한 변수가 포인터이다. 포인터를 사용하면 간결하고 효율적인 표현과 처리가 가능하고 더 빠른 기계어 코드를 생성할 수 있으며, 복잡한 자료 구조(배열, 구조체 등)와 함수의 쉬운 접근이 가능하다. 또한 포인터를 사용하지 않았을 때 코드로 표현할 수 ..
포인터 장점, 단점 포인터 타입의 장단점은 여러가지가 있지만 대표적인것들만 몇가지 적어보도록 하겠습니다. 포인터 변수라는것 자체가 주소를 담을수 있는 변수이기 때문에 혼자로서는 의미가 없습니다. 즉 혼자서는 사용할수 없는 변수이죠 하지만 포인터 변수가 가지는 장점은 많이 있습니다. 장점 1. 포인터 변수는 4바이트의 주소만 가지게 됩니다. 그렇기 때문에 함수의 인자로 넘길경우 메모리의 복사도 4바이트만큼만 일어나게 됩니다. 클래스와 같이 덩치가 큰 객체도 포인터 형으로 전달될경우 해당 메모리의 첫번째 주소값이 넘어가기 때문에 불필요한 메모리의 복사가 일어나지 않게 됩니다. 2. 포인터 변수는 주소를 컨트롤 하기때문에 처리속도가 나쁘지 않습니다. 상수단위의 처리속도는 나오지 않겠지만 주소를 직접적으로 컨트롤 하기때문에 데이터..