<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>김 용묵의 절대공간 - 블로그: C-연산자-오버로딩-上에 달린 최근 댓글/트랙백 목록</title>
		<link>http://moogi.new21.org/tc/</link>
		<description>철도를 명절 때에나 떠오르는 4대 교통수단 중 하나로만 아는 것은, 예수님을 사대성인· 성인군자 중 하나로만 아는 것과 같다.</description>
		<language>ko</language>
		<pubDate>Mon, 25 Jul 2022 19:17:07 +0900</pubDate>
		<generator>Textcube 1.7.8 : Con moto</generator>
		<image>
		<title>김 용묵의 절대공간 - 블로그: C-연산자-오버로딩-上에 달린 최근 댓글/트랙백 목록</title>
		<url>http://moogi.new21.org/tc/attach/1/1404861358.jpg</url>
		<link>http://moogi.new21.org/tc/</link>
		<width>220</width>
		<height>165</height>
		<description>철도를 명절 때에나 떠오르는 4대 교통수단 중 하나로만 아는 것은, 예수님을 사대성인· 성인군자 중 하나로만 아는 것과 같다.</description>
		</image>
		<item>
			<title>김 기윤님의 댓글</title>
			<link>http://moogi.new21.org/tc/854#comment3916</link>
			<description>재밌게 읽었습니다.

그리고 깨알같은 H2O는 산소...</description>
			<author>(김 기윤)</author>
			<guid>http://moogi.new21.org/tc/854#comment3916</guid>
			<comments>http://moogi.new21.org/tc/854#comment</comments>
			<pubDate>Mon, 15 Jul 2013 09:48:46 +0900</pubDate>
		</item>
		<item>
			<title>사무엘님의 댓글</title>
			<link>http://moogi.new21.org/tc/854#comment3917</link>
			<description>ㅎㅎ 반갑습니다.
C++이 정말 방대한 언어라는 걸 실감하는 중입니다.
부가 인자가 붙은 operator new는 new operator를 통해 동반 호출이 가능한 반면,
delete operator에는 부가 인자가 붙은 operator delete를 호출하는 문법이 없다는 것도 알았고요.

그리고 개인적으로는 new/delete와 new[]/delete[] 구분을 왜 넣었는지도 궁금합니다.
100바이트짜리 개체 하나를 선언할 때나, 24바이트 개체 4개를 선언할 때나 메모리 100바이트 할당이 일어나는 건 똑같지(원소 개수 4바이트 오버헤드 추가 포함), 둘을 구분할 필요는 없잖아요?
operator new[] 함수라고 해도 인자로 들어오는 건 총 바이트수 하나뿐이지, 배열 원소 개수가 들어오는 것도 아니고?</description>
			<author>(사무엘)</author>
			<guid>http://moogi.new21.org/tc/854#comment3917</guid>
			<comments>http://moogi.new21.org/tc/854#comment</comments>
			<pubDate>Mon, 15 Jul 2013 15:54:57 +0900</pubDate>
		</item>
		<item>
			<title>김재주님의 댓글</title>
			<link>http://moogi.new21.org/tc/854#comment3919</link>
			<description>배열 원소 개수가 들어가는 것이 맞지 않나요?

그리고 new는 단순히 메모리 할당을 하는 것만이 아니라 생성자 호출 역할도 담당하고 있기 때문에 구분을 하지 않을 수 없죠.</description>
			<author>(김재주)</author>
			<guid>http://moogi.new21.org/tc/854#comment3919</guid>
			<comments>http://moogi.new21.org/tc/854#comment</comments>
			<pubDate>Wed, 17 Jul 2013 21:14:37 +0900</pubDate>
		</item>
		<item>
			<title>사무엘님의 댓글</title>
			<link>http://moogi.new21.org/tc/854#comment3920</link>
			<description>재주 님께서 말씀하신 건 new operator이고, 제가 얘기하는 건 new가 내부적으로 사용하는 메모리 할당 함수인 operator new 말입니다. ㅎㅎ 사실상 C의 malloc이나 다름없는 파트이죠.

new Twenty_Four_byte_Object[4];

라고 해 주면 new operator는 내부적으로 operator new[](100) 함수를 호출하고 (상술한 이유와 같이 24*4+4바이트)
앞에 4개라는 원소 개수를 써 넣은 뒤, 다음 24바이트 메모리 간격으로 Twenty_Four_byte_Object 클래스의 생성자 함수를 4회 호출해 주겠죠?

그 반면

new Hundred_byte_Object;

라고 하면 new operator는 내부적으로 operator new(100)을 호출하고 곧바로 Hundred_byte_Object 클래스의 생성자 함수를 하나 호출해 줍니다.

그래서 어차피 operator new나 operator new[]나 100바이트짜리 메모리를 할당하는 건 전혀 차이가 없고, operator new[]라고 해서 24나 4라는 정보를 따로 받는 것도 전혀 아닌데
두 함수를 구분할 필요가 있느냐는 게 요지입니다.</description>
			<author>(사무엘)</author>
			<guid>http://moogi.new21.org/tc/854#comment3920</guid>
			<comments>http://moogi.new21.org/tc/854#comment</comments>
			<pubDate>Wed, 17 Jul 2013 22:27:21 +0900</pubDate>
		</item>
		<item>
			<title>김재주님의 댓글</title>
			<link>http://moogi.new21.org/tc/854#comment3923</link>
			<description>어떤 타입을 단일 객체로 생성할 때와 배열로 생성할 때 서로 다른 메모리 풀에 할당하고 싶을 수 있겠죠. 이런 경우가 얼마나 많을지는 잘 모르겠지만, 때로는 있을 것도 같습니다.</description>
			<author>(김재주)</author>
			<guid>http://moogi.new21.org/tc/854#comment3923</guid>
			<comments>http://moogi.new21.org/tc/854#comment</comments>
			<pubDate>Thu, 18 Jul 2013 15:16:24 +0900</pubDate>
		</item>
	</channel>
</rss>
