title: Why are my two tuples containing strings, created the same way, not equal?
body: <p>I'm compiling the following program using Microsoft Visual C++, as a C++20 program:</p>
  <pre><code>#include &lt;iostream&gt;
  #include &lt;tuple&gt;
  
  int main()
  {
      auto t1 = std::make_tuple(&quot;one&quot;, &quot;two&quot;, &quot;three&quot;);
      auto t2 = std::make_tuple(&quot;one&quot;, &quot;two&quot;, &quot;three&quot;);
      
      std::cout &lt;&lt; &quot;(t1 == t2) is &quot; &lt;&lt; std::boolalpha &lt;&lt; (t1 == t2) &lt;&lt; &quot;\n&quot;;
      std::cout &lt;&lt; &quot;(t1 != t2) is &quot; &lt;&lt; std::boolalpha &lt;&lt; (t1 != t2) &lt;&lt; &quot;\n&quot;;
  
      return 0;
  }
  </code></pre>
  <p>When I run it, I see the following output:</p>
  <pre><code>(t1 == t2) is false
  (t1 != t2) is true
  </code></pre>
  <p>The tuples are identical, so why does it have wrong comparison results? How do I fix this?</p>