şimdilik Byarne Stroustrup tarafından yazılmış "C++ turu" diyorum. Önemli olan şey:Nullptr düzgün bir şekilde nasıl kullanılır?
int count_x(char* p, char x)
// count the number of occurrences of x in p[]
// p is assumed to point to a zero-terminated array of char (or to nothing)
{
if (p == nullptr) return 0;
int count = 0;
for (; p != nullptr; ++p)
if (*p == x)
++count;
return count;
}
benim benim ana olarak: Ben programı çalıştırdığınızda
int main(){
char* str = "Good morning!";
char c = 'o';
std::cout << count_x(str, c) << std::endl;
return 0;
}
o I çöküyor "işaretçiler, diziler ve referanslar" konulu aynen şöyle nullptr
kullanmayla ilgili bir örnek verdi
if (*p == x)
atılan olsun
Artık her şey yolunda gidiyor! MSVC++ 14.0 kullanıyorum.
- ben bir istisna alamadım
ideone
koştu ancak sonuç3
olması gereken hep0
aynı kodu:
@DeiDei: Evet, yalnızca kodu kopyalayıp yapıştırdım. Eklediğim ana kod. – WonFeiHong
@DeiDei: Bu nasıl doğru olmalı: '* p! = Nullptr'? sanırım 'nullptr' sadece adresler için işaretçiler, işaret ettikleri adrese değmedikleri bir değere işaret ederler. – WonFeiHong
Bunu errata'nın hiçbirinde "C++ turu" için bulamadım. Bjarne'a yazmalı ve ona haber vermelisin. Bu bir hata. – StoryTeller