DALL-E3 가 그려준 KW IT 전산인 모임 8주년 이미지
DALL-E3 가 그려준 KW IT 전산인 모임 8주년 이미지
포인터는 C와 C++ 언어의 핵심 개념 중 하나입니다. 이를 이해하는 것은 두 언어를 효과적으로 사용하기 위해 필수적입니다.
포인터는 메모리 주소를 저장하는 변수입니다. 다시 말해, 포인터는 어떤 데이터의 위치(메모리 주소)를 가리키는 변수입니다.
int *p; // 정수형 포인터 char *ch; // 문자형 포인터
int x = 10; p = &x; // p는 x의 주소를 가리킵니다.
int value = *p; // value는 10이 됩니다. p가 x의 주소를 가리키기 때문입니다.
malloc()
, calloc()
, new
등의 함수나 연산자를 사용하여 실행 시간에 메모리를 할당할 수 있습니다.free()
, C++에서는 delete
를 사용하여 메모리를 해제해야 합니다.C++에서는 포인터 외에도 참조(reference)라는 개념이 추가로 있습니다. 참조는 원래의 변수를 '가리키는' 다른 이름이라고 생각할 수 있으며, 포인터보다 사용하기 쉽고 안전합니다.
포인터는 강력하면서도 복잡한 개념입니다. 올바르게 사용하면 프로그램의 효율성과 유연성을 크게 향상시킬 수 있지만, 주의하지 않으면 오류의 원인이 될 수 있습니다. 따라서 포인터를 사용할 때는 항상 주의를 기울여야 합니다.
std::vector
는 C++ 표준 템플릿 라이브러리(STL)의 일부로서, 동적 배열과 유사한 구조를 가진 컨테이너입니다.
std::vector
의 주요 특징:
std::vector
의 사용 예:
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers;
// 값을 추가합니다.
numbers.push_back(1);
numbers.push_back(2);
numbers.push_back(3);
// 인덱스를 사용하여 값에 접근합니다.
std::cout << numbers[1] << std::endl; // 출력: 2
// 크기와 용량을 조회합니다.
std::cout << "Size: " << numbers.size() << std::endl; // 출력: 3
std::cout << "Capacity: " << numbers.capacity() << std::endl;
// 반복자를 사용하여 백터의 요소를 반복합니다.
for(int num : numbers) {
std::cout << num << " ";
} // 출력: 1 2 3
return 0;
}
이 외에도 std::vector
는 여러 메서드와 기능을 제공합니다. 예를 들면 insert
, erase
, resize
, reserve
등이 있습니다. C++의 std::vector
를 효과적으로 사용하려면 해당 메서드와 기능들을 숙지하는 것이 중요합니다.
C++에서의 참조는 변수나 객체의 별칭을 제공하는 방법입니다. 참조를 사용하면 변수나 객체에 대한 간접적인 접근을 할 수 있습니다. 여기서 주요 포인트와 예제를 통해 C++의 참조 개념을 설명하겠습니다.
이러한 참조의 개념은 C++에서 매우 중요하며, 효율적인 프로그래밍을 위해 잘 알아두어야 합니다.
Qualcomm은 새로운 Snapdragon Elite X 칩을 발표하여 노트북 시장에서 Intel, AMD 및 Apple과의 경쟁력을 강화하려 한다. 이 칩은 2024년부터 노트북에서 사용 가능하며 인공 지능 작업을 더 잘 처리할 수 있도록 재설계되었다. Qualcomm은 X Elite가 일부 작업에서 Apple의 M2 Max 칩보다 빠르며 Apple 및 Intel PC 칩보다 에너지 효율이 뛰어나다고 주장했다.
이 새로운 칩은 4nm 프로세스 기술을 기반으로 하며, 3.8GHz의 12개의 고성능 코어와 최대 4.3GHz까지의 듀얼 코어 부스트를 제공한다. 또한 Qualcomm은 CPU 메모리 성능을 향상시켰다고 밝혔다. Qualcomm의 이러한 발표는 PC 칩 경쟁에서 Qualcomm, Apple, Intel 간의 레이스를 가열시키고 있으며, Qualcomm은 Snapdragon X Elite를 "PC용으로 만든 가장 강력한 컴퓨팅 프로세서"로 부르며, 최고 수준의 CPU 성능, 선도적인 기기 내 AI 추론 및 매우 효율적인 전문 처리 기능을 제공한다고 주장했다.
이러한 발표와 새로운 칩 기술은 Qualcomm이 노트북 시장에서 Intel, AMD 및 Apple과의 경쟁에서 어떻게 위치할지에 대한 통찰력을 제공하며, 노트북 사용자에게 더 나은 성능과 효율성을 제공할 가능성을 보여준다.
특히 소프트웨어 개발자 입장에서 애플 실리콘 칩을 내장한 맥이 최신 인텔 칩을 내장한 윈도 PC 보다 컴파일이나 트랜스파일링 속도가 빠르지도 않았으며 가격이 비싸 가성비가 떨어지는 선택이었다. 장점은 어떠한 작업을 해도 하루 종일 버티는 베터리, 빠른 비디오 처리와 압축정도 였는데 이것은 개발자 입장에선 꼭 필요한 장점은 아니다.