<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Generic on Sobamemil</title>
    <link>https://blog.sobamemil.com/en/tags/generic/</link>
    <description>Recent content in Generic on Sobamemil</description>
    <image>
      <title>Sobamemil</title>
      <url>https://blog.sobamemil.com/images/og-image.png</url>
      <link>https://blog.sobamemil.com/images/og-image.png</link>
    </image>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Mon, 09 Mar 2020 15:53:04 +0900</lastBuildDate>
    <atom:link href="https://blog.sobamemil.com/en/tags/generic/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 5 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/115-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-5%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 15:53:04 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/115-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-5%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;다음 함수는 매개 변수로 주어진 두 개의 int 배열을 연결한 새로운 int 배열을 동적 할당받아 리턴한다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;int * concat(int a[], int sizea, int b[], int sizeb);&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;concat가 int 배열뿐 아니라 다른 타입의 배열도 처리할 수 있도록 일반화하라.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/115/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Objective &amp;amp; Hints:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;함수의 힐반화에 대한 이해, 템플릿 함수 만들기&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24&lt;/td&gt;
          &lt;td&gt;#include &lt;iostream&gt;  using namespace std;    template &lt;class T&gt;  T* concat(T a[], int sizea, T b[], int sizeb){  T *rArray = new T[sizea + sizeb]; // return 할 배열을 동적생성  for(int i=0; i&amp;lt;sizea+sizeb; i++){  if(i&amp;lt;sizea)  rArray[i] = a[i];  else  rArray[i] = b[i-sizea];  }  return rArray;  }    int main() {  int x[] = { 1, 10, 100, 5, 4 };  int y[] = { 7, 6, 10, 9 };  int *a = concat(x, 5, y, 4);  int aSize = sizeof(x)/sizeof(x[0]) + sizeof(y)/sizeof(y[0]); // a에 들어있는 원소의 개수    for (int i = 0; i&amp;lt;aSize; i++)  cout &amp;lt;&amp;lt; a[i] &amp;lt;&amp;lt; &#39; &#39;;  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 4 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/114-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-4%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 15:48:38 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/114-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-4%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;배열에서 원소를 검색하는 search() 함수를 템플릿으로 작성하라.&lt;/p&gt;
&lt;p&gt;search()의 첫 번째 매개 변수는 검색하고자 하는 원소 값이고, 두 번째 매개 변수는 배열이며, 세 번째 매개 변수는 배열의 개수이다.&lt;/p&gt;
&lt;p&gt;search() 함수가 검색에 성공하면 true를, 아니면 false를 리턴한다.&lt;/p&gt;
&lt;p&gt;search()의 호출 사례는 다음과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3&lt;/td&gt;
          &lt;td&gt;int x[] = {1, 10, 100, 5, 4};  if(search(100, x, 5)) cout &amp;lt;&amp;lt; &amp;quot;100이 배열 x에 포함되어 있다&amp;quot;; // 이 cout 실행  else cout &amp;lt;&amp;lt; &amp;quot;100이 배열 x에 포함되어 있지 않다&amp;quot;;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>C&#43;&#43; Programming Ch.10 Exercise 2 Solution</title>
      <link>https://blog.sobamemil.com/en/posts/112-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-2%EB%B2%88/</link>
      <pubDate>Mon, 09 Mar 2020 15:40:47 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/112-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-10%EC%9E%A5-2%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;두 개의 배열을 비교하여 같으면 true를, 아니면 false를 리턴하는 제네릭 함수 equalArrays()를 작성하라.&lt;/p&gt;
&lt;p&gt;또한 main() 함수를 작성하여 equalArrays()를 호출하는 몇 가지 사례를 보여라.&lt;/p&gt;
&lt;p&gt;equalArrays()를 호출하는 코드 사례는 다음과 같다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6&lt;/td&gt;
          &lt;td&gt;int x[] = {1, 10, 100, 5, 4};  int y[] = {1, 10, 100, 5, 4};  if(equalArray(x, y, 5))  cout &amp;lt;&amp;lt; &amp;quot;같다&amp;quot;; // 배열 x, y가 같으므로 &amp;quot;같다&amp;quot; 출력  else  cout &amp;lt;&amp;lt; &amp;quot;다르다&amp;quot;;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
