簡體   English   中英

c 和 c++ 使用同一個庫嗎?

[英]Do c and c++ use the same library?

  1. 我正在編寫 c++ 代碼並開始使用“strcmp”命令,但我不知道是否應該像 c 那樣包含 string.h 庫。

  2. c++ 代碼使用 'strcmp' 不包括 string.h 庫,但沒有錯誤。 為什么沒有出現錯誤?

    Student* StdSearch(Student* pSt, char* name, int StdNum)    
    {   
        Student* find = 0;
    
        for (int i = 0; i < StdNum; i++)
        {
            if (strcmp((pSt + i)->StdName, name) == 0)
            {
                find = pSt + i;
                return find;
            }
        }
    
        if (find == 0)
            return NULL;
    }

我正在編寫 c++ 代碼並開始使用“strcmp”命令,但我不知道是否應該像 c 那樣包含 string.h 庫。

您應該包括#include <cstring>以在 C++ 中使用strcmp 慣例是一些 C 標准頭文件可以包含在 C++ 中,方法是刪除.h並在c之前添加<cstdio> cstlib <cstdlib> <cstdint>等。

為什么沒有出現錯誤?

允許但不要求標准標頭包含它們自己。 因此,您可以執行#include <iostream>並且iostream包含cstring或類似內容。 它現在可以在您的計算機上運行,但可能會因更新或在其他人的計算機上而失敗。 為確保符號可見,請在符號中包含 header。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM