Skip to content

Commit ecd3118

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 90dd99d commit ecd3118

File tree

8 files changed

+922
-122
lines changed

8 files changed

+922
-122
lines changed

lang/cpp14/sized_deallocation.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,12 +188,12 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2024-07-08T07:33:21">
192-
2024年07月08日 07時33分21秒
191+
<span itemprop="datePublished" content="2025-07-07T05:21:12">
192+
2025年07月07日 05時21分12秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
196-
<span itemprop="name">Akira Takahashi</span>
196+
<span itemprop="name">K10-K10</span>
197197
</span>
198198
が更新
199199
</small></p>
@@ -258,7 +258,7 @@ <h2>例</h2>
258258
<span class="kt">void</span><span class="o">*</span> <span class="k">operator</span> <span class="k">new</span><span class="p">[](</span><span class="n"><a href="../../reference/cstddef/size_t.html">std::size_t</a></span> <span class="n">size</span><span class="p">)</span>
259259
<span class="p">{</span>
260260
<span class="n"><span href="https://cpprefjp.github.io/reference/cstdio/printf.md.nolink">std::printf</span></span><span class="p">(</span><span class="s">"new size:%zu</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span> <span class="n">size</span><span class="p">);</span>
261-
<span class="k">return</span> <span class="nf"><span href="https://cpprefjp.github.io/reference/cstdlib/malloc.md.nolink">std::malloc</span></span><span class="p">(</span><span class="n">size</span><span class="p">);</span>
261+
<span class="k">return</span> <span class="nf"><a href="../../reference/cstdlib/malloc.html">std::malloc</a></span><span class="p">(</span><span class="n">size</span><span class="p">);</span>
262262
<span class="p">}</span>
263263

264264
<span class="kt">void</span> <span class="k">operator</span> <span class="k">delete</span><span class="p">[](</span><span class="kt">void</span><span class="o">*</span><span class="p">)</span> <span class="k">noexcept</span>

reference/cstdlib.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,8 @@
176176

177177
<p class="text-right"><small>
178178
最終更新日時(UTC):
179-
<span itemprop="datePublished" content="2025-07-06T09:53:39">
180-
2025年07月06日 09時53分39秒
179+
<span itemprop="datePublished" content="2025-07-07T05:21:12">
180+
2025年07月07日 05時21分12秒
181181
</span>
182182
<br/>
183183
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -315,7 +315,7 @@ <h2>メモリ管理</h2>
315315
<td>C++17</td>
316316
</tr>
317317
<tr>
318-
<td><code><span href="https://cpprefjp.github.io/reference/cstdlib/malloc.md.nolink">malloc</span></code></td>
318+
<td><code><a href="cstdlib/malloc.html">malloc</a></code></td>
319319
<td>メモリを確保する (function)</td>
320320
<td></td>
321321
</tr>

reference/cstdlib/calloc.html

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -188,12 +188,12 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2025-07-07T01:29:11">
192-
2025年07月07日 01時29分11秒
191+
<span itemprop="datePublished" content="2025-07-07T05:41:51">
192+
2025年07月07日 05時41分51秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
196-
<span itemprop="name">rotarymars</span>
196+
<span itemprop="name">Raclamusi</span>
197197
</span>
198198
が更新
199199
</small></p>
@@ -216,14 +216,19 @@
216216
<div itemprop="articleBody"><h2>概要</h2>
217217
<p><pre><code>void *calloc(size_t nmemb, size_t size);
218218
</code></pre></p>
219-
<p>任意の個数のオブジェクトへの配列用ポインタを動的に確保し、その領域を0で初期化する</p>
219+
<p>任意の個数のオブジェクトへの配列用ポインタを動的に確保し、その領域を 0 で初期化する</p>
220220
<p>この関数で返されるポインタは、割当領域の先頭のポインタである。</p>
221221
<p>領域が割り当てられない場合は、<code><a href="../../lang/cpp11/nullptr.html">nullptr</a></code>を返す。</p>
222222
<p>割り当てられたオブジェクトの寿命は、このメモリが割り当てられてられた時から、<code><span href="https://cpprefjp.github.io/reference/cstdlib/free.md.nolink">free</span></code>などで解放されるまでである。</p>
223223
<p>この関数は、静的ストレージにはアクセスしない、スレッドセーフである。</p>
224224
<h2>備考</h2>
225225
<ul>
226-
<li><code>calloc</code><code>malloc</code>および <code>realloc</code>関数による連続的なメモリ確保によるメモリの割当の順序、連続性は不定である。</li>
226+
<li>
227+
<p><code>calloc</code><code>malloc</code>および <code>realloc</code>関数による連続的なメモリ確保によるメモリの割当の順序、連続性は不定である。</p>
228+
</li>
229+
<li>
230+
<p>目盛りリークを避けるため、この関数で確保したメモリは、<code>free</code>などを使い、メモリ解放するべきである。</p>
231+
</li>
227232
</ul>
228233
<h2></h2>
229234
<p><div class="yata" id="e077306c620e0c310efb2f25e886ff9ab7c0b355"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf">&lt;stdio.h&gt;</span><span class="cp"></span>

reference/cstdlib/malloc.html

Lines changed: 291 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,291 @@
1+
<!doctype html>
2+
<html class="cpprefjp" lang="ja" itemscope="" itemtype="http://schema.org/WebPage">
3+
<head>
4+
5+
6+
<!-- Google tag (gtag.js) -->
7+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-NXNBNVBTJS"></script>
8+
<script>
9+
window.dataLayer = window.dataLayer || [];
10+
function gtag(){dataLayer.push(arguments);}
11+
gtag('js', new Date());
12+
13+
gtag('config', 'G-NXNBNVBTJS');
14+
</script>
15+
16+
17+
<meta charset="UTF-8">
18+
19+
<title>malloc - cpprefjp C++日本語リファレンス</title>
20+
21+
<meta name="viewport" content="width=device-width,initial-scale=1">
22+
<meta name="keywords" content="
23+
C++,標準ライブラリ,リファレンス,ドキュメント,STL,std,cstdlib,std,function
24+
">
25+
<meta name="title" content="malloc - cpprefjp C++日本語リファレンス" />
26+
<meta itemprop="name" content="malloc - cpprefjp C++日本語リファレンス" />
27+
<meta property="og:title" content="malloc - cpprefjp C++日本語リファレンス" />
28+
<meta property="og:url" content="https://cpprefjp.github.io/reference/cstdlib/malloc.html" />
29+
<meta property="og:site_name" content="cpprefjp - C++日本語リファレンス" />
30+
<meta property="og:type" content="article" />
31+
<meta property="og:description" content="" />
32+
<meta name="twitter:card" content="summary" />
33+
<meta name="twitter:title" content="malloc - cpprefjp C++日本語リファレンス" />
34+
<meta name="twitter:url" content="https://cpprefjp.github.io/reference/cstdlib/malloc.html" />
35+
<meta name="twitter:description" content="" />
36+
37+
38+
<link rel="alternate" type="application/atom+xml" title="Atom" href="https://cpprefjp.github.io/rss.xml" />
39+
40+
41+
<link rel="apple-touch-icon" sizes="180x180" href="../../static/favicons/apple-touch-icon.png?cachebust=77dc81f1a0fc7ba1be2bc06336653840aa3f2e20">
42+
<link rel="icon" type="image/png" sizes="32x32" href="../../static/favicons/favicon-32x32.png?cachebust=77dc81f1a0fc7ba1be2bc06336653840aa3f2e20">
43+
<link rel="icon" type="image/png" sizes="16x16" href="../../static/favicons/favicon-16x16.png?cachebust=77dc81f1a0fc7ba1be2bc06336653840aa3f2e20">
44+
<link rel="manifest" href="../../manifest.json?cachebust=77dc81f1a0fc7ba1be2bc06336653840aa3f2e20">
45+
<meta name="theme-color" content="#f5f8fc">
46+
47+
<link rel="stylesheet" href="../../static/pygments/default.css?cachebust=77dc81f1a0fc7ba1be2bc06336653840aa3f2e20">
48+
<!-- <link rel="stylesheet" href="../../static/css/root.css"> -->
49+
50+
51+
52+
53+
54+
<link href="../../static/kunai/css/kunai-stage-0.css?cachebust=77dc81f1a0fc7ba1be2bc06336653840aa3f2e20" rel="stylesheet">
55+
<link href="../../static/kunai/css/kunai-stage-1.css?cachebust=77dc81f1a0fc7ba1be2bc06336653840aa3f2e20" rel="stylesheet">
56+
<link href="../../static/kunai/css/kunai-stage-2.css?cachebust=77dc81f1a0fc7ba1be2bc06336653840aa3f2e20" rel="stylesheet">
57+
<link href="../../static/kunai/css/kunai-stage-3.css?cachebust=77dc81f1a0fc7ba1be2bc06336653840aa3f2e20" rel="stylesheet">
58+
59+
<script type="text/javascript" src="../../static/kunai/js/kunai-vendor.js?cachebust=77dc81f1a0fc7ba1be2bc06336653840aa3f2e20"></script>
60+
<script type="text/javascript" src="../../static/kunai/js/kunai.js?cachebust=77dc81f1a0fc7ba1be2bc06336653840aa3f2e20"></script>
61+
62+
<script type="text/javascript">
63+
document.addEventListener('DOMContentLoaded', function() {
64+
var kn = new Kunai;
65+
kn.cpprefjp();
66+
});
67+
</script>
68+
69+
</head>
70+
<body>
71+
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;cstdlib&#34;], &#34;namespace&#34;: [&#34;std&#34;], &#34;id-type&#34;: [&#34;function&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;4c71976ad203b9ab97377136d8117e4a53bca8f7&#34;, &#34;source&#34;: &#34;#include &lt;iostream&gt;\n#include &lt;cstdlib&gt;\n\nint main(void)\n{\n int *p1 = malloc(4*sizeof(int)); // 4\u500b\u306eint\u578b\u914d\u5217\u306e\u76ee\u76db\u308a\u3092\u78ba\u4fdd\n int *p2 = malloc(sizeof(int[4])); // \u4e0a\u3068\u540c\u3058\u3002\n int *p3 = malloc(4*sizeof *p3); // \u4e0a\u3068\u540c\u3058\u3002\n\n if(p1) {\n for(int n=0; n&lt;4; ++n)\n p1[n] = n*n;\n for(int n=0; n&lt;4; ++n)\n printf(\&#34;p1[%d] == %d\\n\&#34;, n, p1[n]);\n }\n\n free(p1);//\u30e1\u30e2\u30ea\u3092\u958b\u653e\n free(p2);\n free(p3);\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;cstdlib&#34;, &#34;malloc&#34;]}">
72+
<nav class="navbar navbar-default" role="navigation">
73+
<div class="container-fluid">
74+
<div class="navbar-header">
75+
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse">
76+
<span class="sr-only">Toggle navigation</span>
77+
<span class="icon-bar"></span>
78+
<span class="icon-bar"></span>
79+
<span class="icon-bar"></span>
80+
</button>
81+
<a class="navbar-brand" href="../../index.html">
82+
<div class="title-wrapper clearfix">
83+
<div class="title">cpprefjp - C++日本語リファレンス</div>
84+
</div>
85+
</a>
86+
</div>
87+
88+
<div class="collapse navbar-collapse" id="navbar-collapse">
89+
<ul class="nav navbar-nav navbar-right">
90+
<li>
91+
<div class="google-search">
92+
93+
94+
<script>
95+
(function() {
96+
var cx = '013316413321391058734:ji_u66hl7hq';
97+
var gcse = document.createElement('script');
98+
gcse.type = 'text/javascript';
99+
gcse.async = true;
100+
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
101+
'//www.google.com/cse/cse.js?cx=' + cx;
102+
var s = document.getElementsByTagName('script')[0];
103+
s.parentNode.insertBefore(gcse, s);
104+
})();
105+
</script>
106+
<div class="gcse-search"></div>
107+
108+
109+
</div>
110+
</li>
111+
<li>
112+
<a href="https://github.com/cpprefjp/site">GitHub Project</a>
113+
</li>
114+
</ul>
115+
</div>
116+
</div>
117+
</nav>
118+
</header>
119+
120+
<main id="main" role="main">
121+
<div class="container-fluid">
122+
<div class="row">
123+
<div class="col-sm-9 col-sm-push-3" itemscope itemtype="http://schema.org/Article">
124+
<div class="row">
125+
<div class="col-sm-12 google-search-result">
126+
<gcse:searchresults></gcse:searchresults>
127+
</div>
128+
</div>
129+
<div class="row">
130+
<div class="col-sm-12 content-header">
131+
132+
<ol class="breadcrumb">
133+
134+
<li itemscope itemtype="http://www.schema.org/SiteNavigationElement">
135+
<span>
136+
137+
<a href="../../index.html" itemprop="url">
138+
139+
<i class="fa fa-fw fa-home"></i>
140+
141+
</a>
142+
143+
</span>
144+
</li>
145+
146+
<li itemscope itemtype="http://www.schema.org/SiteNavigationElement">
147+
<span>
148+
149+
<a href="../../reference.html" itemprop="url">
150+
151+
<span itemprop="name">リファレンス</span>
152+
153+
</a>
154+
155+
</span>
156+
</li>
157+
158+
<li itemscope itemtype="http://www.schema.org/SiteNavigationElement">
159+
<span>
160+
161+
<a href="../../reference/cstdlib.html" itemprop="url">
162+
163+
<span itemprop="name">cstdlib</span>
164+
165+
</a>
166+
167+
</span>
168+
</li>
169+
170+
<li class="active" itemscope itemtype="http://www.schema.org/SiteNavigationElement">
171+
<span>
172+
173+
174+
<span itemprop="name">malloc</span>
175+
176+
177+
</span>
178+
</li>
179+
180+
</ol>
181+
<div class="crsearch"></div>
182+
183+
</div>
184+
</div>
185+
<div class="row">
186+
<div class="col-sm-12 edit-button">
187+
188+
189+
<p class="text-right"><small>
190+
最終更新日時(UTC):
191+
<span itemprop="datePublished" content="2025-07-07T05:41:51">
192+
2025年07月07日 05時41分51秒
193+
</span>
194+
<br/>
195+
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
196+
<span itemprop="name">Raclamusi</span>
197+
</span>
198+
が更新
199+
</small></p>
200+
201+
202+
<p class="text-right">
203+
<a class="history" target="_blank" href="https://github.com/cpprefjp/site/commits/master/reference/cstdlib/malloc.md">
204+
<span class="fa fa-fw fa-clock-o fa-flip-horizontal"></span>履歴
205+
</a>
206+
<a class="edit" target="_blank" href="https://github.com/cpprefjp/site/edit/master/reference/cstdlib/malloc.md">
207+
<span class="fa fa-fw fa-pencil"></span>編集
208+
</a>
209+
</p>
210+
</div>
211+
</div>
212+
<div class="row">
213+
<div class="col-sm-12 content-body">
214+
215+
<div class="identifier-type">function</div><div class="header">&lt;cstdlib&gt;</div><h1 itemprop="name"><span class="namespace" title="namespace std">std::</span><span class="token">malloc</span></h1>
216+
<div itemprop="articleBody"><h2>概要</h2>
217+
<p><div class="codehilite"><pre><span></span><code><span class="kt">void</span> <span class="o">*</span><span class="nf">malloc</span><span class="p">(</span> <span class="kt">size_t</span> <span class="n">size</span> <span class="p">);</span>
218+
</code></pre></div>
219+
</p>
220+
<p>初期化されていない<code>size_t</code>個の<code>size</code>型配列のメモリを確保する。</p>
221+
<p>確保可能なら、配列の初めのポインタを返す。</p>
222+
<p>確保不可能なら、<code>null</code>を返す。</p>
223+
<p>確保するサイズが 0 の時に<code>malloc</code>が返す値は、定義されていない。</p>
224+
<p>具体的には、<code>null</code>ポインタが返される場合もある。</p>
225+
<p>また、<code>null</code>以外のポインタが返された場合もあり、この場合はメモリリークを避けるため参照を解除せずに<code>free</code>関数に渡すべきである。</p>
226+
<p>この関数でできた、オブジェクトの寿命は、メモリ割り当て時から、 <code>free</code>などで解放されるまでである。</p>
227+
<h2>備考</h2>
228+
<p>この関数はスレッドセーフである。</p>
229+
<p>メモリリークを避けるため、この関数で確保したメモリは、<code>free</code>などを使い、メモリ解放するべきである。</p>
230+
<h2></h2>
231+
<p>cppref より引用。</p>
232+
<p><div class="yata" id="4c71976ad203b9ab97377136d8117e4a53bca8f7"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../iostream.html">&lt;iostream&gt;</a></span><span class="cp"></span>
233+
<span class="cp">#include</span> <span class="cpf"><a href="../cstdlib.html">&lt;cstdlib&gt;</a></span><span class="cp"></span>
234+
235+
<span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span>
236+
<span class="p">{</span>
237+
<span class="kt">int</span> <span class="o">*</span><span class="n">p1</span> <span class="o">=</span> <span class="n">malloc</span><span class="p">(</span><span class="mi">4</span><span class="o">*</span><span class="k">sizeof</span><span class="p">(</span><span class="kt">int</span><span class="p">));</span> <span class="c1">// 4個のint型配列の目盛りを確保</span>
238+
<span class="kt">int</span> <span class="o">*</span><span class="n">p2</span> <span class="o">=</span> <span class="n">malloc</span><span class="p">(</span><span class="k">sizeof</span><span class="p">(</span><span class="kt">int</span><span class="p">[</span><span class="mi">4</span><span class="p">]));</span> <span class="c1">// 上と同じ。</span>
239+
<span class="kt">int</span> <span class="o">*</span><span class="n">p3</span> <span class="o">=</span> <span class="n">malloc</span><span class="p">(</span><span class="mi">4</span><span class="o">*</span><span class="k">sizeof</span> <span class="o">*</span><span class="n">p3</span><span class="p">);</span> <span class="c1">// 上と同じ。</span>
240+
241+
<span class="k">if</span><span class="p">(</span><span class="n">p1</span><span class="p">)</span> <span class="p">{</span>
242+
<span class="k">for</span><span class="p">(</span><span class="kt">int</span> <span class="n">n</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">n</span><span class="o">&lt;</span><span class="mi">4</span><span class="p">;</span> <span class="o">++</span><span class="n">n</span><span class="p">)</span>
243+
<span class="n">p1</span><span class="p">[</span><span class="n">n</span><span class="p">]</span> <span class="o">=</span> <span class="n">n</span><span class="o">*</span><span class="n">n</span><span class="p">;</span>
244+
<span class="k">for</span><span class="p">(</span><span class="kt">int</span> <span class="n">n</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">n</span><span class="o">&lt;</span><span class="mi">4</span><span class="p">;</span> <span class="o">++</span><span class="n">n</span><span class="p">)</span>
245+
<span class="n">printf</span><span class="p">(</span><span class="s">"p1[%d] == %d</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span> <span class="n">n</span><span class="p">,</span> <span class="n">p1</span><span class="p">[</span><span class="n">n</span><span class="p">]);</span>
246+
<span class="p">}</span>
247+
248+
<span class="n">free</span><span class="p">(</span><span class="n">p1</span><span class="p">);</span><span class="c1">//メモリを開放</span>
249+
<span class="n">free</span><span class="p">(</span><span class="n">p2</span><span class="p">);</span>
250+
<span class="n">free</span><span class="p">(</span><span class="n">p3</span><span class="p">);</span>
251+
<span class="p">}</span>
252+
</code></pre></div>
253+
</div></p>
254+
<h2>出力例</h2>
255+
<p><pre><code>p1[0] == 0
256+
p1[1] == 1
257+
p1[2] == 4
258+
p1[3] == 9
259+
</code></pre></p>
260+
<h2>関連リンク</h2>
261+
<ul>
262+
<li><code><span href="https://cpprefjp.github.io/cstdlib/free.md.nolink">free</span></code>: 確保したメモリを解放する。</li>
263+
</ul>
264+
<h2>参照</h2>
265+
<ul>
266+
<li><a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2310.pdf" target="_blank">7.22.3 Memory management functions</a></li>
267+
</ul></div>
268+
269+
</div>
270+
</div>
271+
</div>
272+
273+
274+
<div id="sidebar" class="col-sm-3 col-sm-pull-9">
275+
</div>
276+
277+
278+
</div>
279+
</div>
280+
</main>
281+
<footer class="footer navbar navbar-default">
282+
<div class="container-fluid">
283+
<p><small>
284+
本サイトの情報は、
285+
<a href="https://creativecommons.org/licenses/by/3.0/deed.ja" rel="nofollow">クリエイティブ・コモンズ 表示 3.0 非移植 ライセンス(CC BY)</a>
286+
の下に提供されています。
287+
</small></p>
288+
</div>
289+
</footer>
290+
</body>
291+
</html>

0 commit comments

Comments
 (0)