C++ 에서 ^ ??

기초 2020. 11. 11. 15:14

directX 예제 코드를 보다가 

IFrameworkView^ Direct3DApplicationSource::CreateView()

 

이렇게 되어있는 코드가 있었다.

^(hat 이라 부른다)의미를 찾아보니 대충 스마트 포인터와 같은 의미인 것 같다.

 

공식 내용

docs.microsoft.com/en-us/cpp/extensions/handle-to-object-operator-hat-cpp-component-extensions?view=msvc-160

 

Handle to Object Operator (^) (C++/CLI and C++/CX)

Handle to Object Operator (^) (C++/CLI and C++/CX) In this article --> The handle declarator (^, pronounced "hat"), modifies the type specifier to mean that the declared object should be automatically deleted when the system determines that the object is n

docs.microsoft.com

ref new, gcnew 관련 ( ref new, gcnew 으로 생성(?) 시 ^ 형으로 반환된다는것 같다.)

docs.microsoft.com/en-us/cpp/extensions/ref-new-gcnew-cpp-component-extensions?view=msvc-160

 

ref new, gcnew (C++/CLI and C++/CX)

ref new, gcnew (C++/CLI and C++/CX) In this article --> The ref new aggregate keyword allocates an instance of a type that is garbage collected when the object becomes inaccessible, and that returns a handle (^) to the allocated object. All Runtimes Memory

docs.microsoft.com

 

'기초' 카테고리의 다른 글

C++ :: 의미  (0) 2020.07.20
간단히 적어놓는 논리연산자  (0) 2017.02.09
운영체제 스케줄링 기법  (0) 2016.10.20
까먹지 말자  (0) 2016.08.16
Hello world  (0) 2016.08.11
posted by 알쿠미

C++ :: 의미

기초 2020. 7. 20. 21:00

:: 는 "범위 지정 연산자"이다.

ClassName::

NameSpaceName::

::

사용하는 방법은 위에 가지가 있다.

class Name
{
    public:
    void Print();
};

void Name::Print()
{
}

 

위에 Name::Print()를 써서 Class Name안에 있는 함수에 접근해서 선언할 수 있다.

 

namespace a
{
    void Print()
    {
    }
}

namespace b
{
    void Print();
    {
    }
}

a::Print() - a NameSpace 범위의 Print()

b::Print() - b NameSpace 범위의 Print()

는 다른 의미가 된다.

 

* 그냥 :: 만 사용하게 되면

현재 존재하는 모든 전역변수와 전역함수들을 지역변수, 지역함수와 구분지어 사용할 수 있게된다.

 

사용자가 정의한 전역함수도 ::를 사용하여 호출 할 수 있다.

 

출처: https://xxxq.tistory.com/entry/c%EC%97%90%EC%84%9C-%EC%9D%B4-%EA%B8%B0%ED%98%B8%EC%9D%98-%EC%9D%98%EB%AF%B8

'기초' 카테고리의 다른 글

C++ 에서 ^ ??  (0) 2020.11.11
간단히 적어놓는 논리연산자  (0) 2017.02.09
운영체제 스케줄링 기법  (0) 2016.10.20
까먹지 말자  (0) 2016.08.16
Hello world  (0) 2016.08.11
posted by 알쿠미

자잘하게 까먹는 것들

이것저것 2018. 10. 24. 00:53

printf에서 변수 출력할 때 사용

서식 문자

출력 형태

%c

단일 문자

%s

문자열

%d

부호 있는 10진 정수

%f

 부호 있는 10진 실수

%x

 부호 없는 16진 정수, 소문자 사용

%X

 부호 없는 16진 정수, 대문자 사용

%o

부호 없는 8진 정수

%u

부호 없는 10진 정수

%e 

e 표기법에 의한 실수

%E

E 표기법에 의한 실수

%% 

% 기호 출력



1. 문자열 상수는 수정불가능한 char형 배열이다.

2. 배열은 그 자신의 첫번째 원소를 가리키는 포인터 주소값으로 자동 변환된다.

3. 2번에는 3가지 예외가 있는데, & 연산자의 피연산자, size of 연산자의 피연산자, 그리고 char형 배열을 초기화할 때 쓰였을 경우이다.

4. array[2] 는 *(array + 2) 와 완전히 동일한 표현이다.

char* str;

str = "abcd"; // str은 "abcd"의 첫번째 원소를 가리키는 주소값을 저장한다.

str[1] = 'c' // error "abcd"는 상수이므로 값을 바꿀수 없다.


char str[] = "abcd"

str[1] = 'b'; // 배열에 문자열 상수를 초기화하는 경우 새로운 배열이 만들어 지기 때문에 상수가 아니다. 따라서 대입가능


출처 : https://kldp.org/node/61290

posted by 알쿠미