我试图找到两个字符串的最大值,它在第一种情况下(传递std::string变量时)给出了正确的答案,但在第二种情况下(传递直接字符串时)给出了错误。
#include<bits/stdc++.h>
using namespace std;
int main()
{
// Case 1
string str1 = "abc", str2 = "abcd";
cout << max(str1, str2) << endl;
// Case 2
cout << max("abc", "abcd") << endl;
}
Run Code Online (Sandbox Code Playgroud) int *arr = new int(10);
int *arr = new int[10];
Run Code Online (Sandbox Code Playgroud)
是c++中动态内存分配的代码。但我不明白这两者之间有什么区别。