不声不响是什么意思| 小狗肚子里有虫子吃什么药| 次心念什么| 眼睛痛是什么病| 出汗少是什么原因| 电解质是什么检查项目| mg是什么| 荷叶像什么比喻句| 20岁长白头发是什么原因造成的| 神仙眷侣是什么意思| 咳血鲜红是什么病呢| 珙桐是什么植物| 什么可以美白牙齿| 鸡吃什么食物| 茼蒿和什么相克| 短裙配什么鞋子好看| 1978年是什么年| 狗上皮过敏是什么意思| 热痱子长什么样| 防空警报是什么| 三叉神经痛挂什么科就诊| 农历五月二十是什么星座| 女生适合养什么狗| 富士山什么时候喷发| 内火重吃什么药见效快| 电饭锅内胆是什么材质| 去香港买什么划算| 重楼的别名叫什么| 世界上最长的蛇是什么蛇| gas什么意思| 11月14号什么星座| 埋头苦干是什么生肖| 长期失眠吃什么药好| 意犹未尽什么意思| 采耳是什么意思| 磷高吃什么药| 抄手是什么食物| 金鸡独立是什么意思| 梦见长白头发是什么意思| 12五行属什么| 痛经吃什么| gb什么意思| 麦粒肿涂什么药膏| 颈椎压迫手麻吃什么药| 手足口病用什么药最好| 机警是什么意思| 晚上睡觉盗汗是什么原因| 狂躁症是什么| 梦见蝙蝠是什么意思| 铁娘子是什么意思| 真菌感染是什么意思| 教师节什么时候| 不均质脂肪肝是什么意思| 幽门螺旋杆菌有什么危害| 辟邪剑谱和葵花宝典有什么关系| 一什么牌子| 椰子煲汤放什么材料| 中元节应该说什么| 低度cin病变是什么意思| 兵马俑是什么意思| 菠萝蜜是什么季节的水果| 什么原因引起尿路感染| 安之若素什么意思| 高血压吃什么助勃药好| amc是什么| 例假期间适合吃什么水果| 灵长类动物是指什么| 什么是腺样体肥大| 清明为什么插柳枝| 摆地摊卖什么最赚钱而且很受欢迎| 为什么小腹隐隐作痛| 刚怀孕初期吃什么好呢| 血糖高能吃什么肉| 孑孓什么意思| 纹眉需要注意什么| 梦见大蜈蚣是什么预兆| 黑鱼不能和什么一起吃| 男孩子什么时候刮胡子| 什么是低碳饮食| 哺乳期吃什么水果| 早早孕试纸什么时候测最准| 梦见别人生孩子预示什么| 茶寿为什么是108岁| sp是什么意思啊| 一片狼藉是什么意思| 小肚子胀是什么原因| 小米粥和什么搭配最好| 一什么嘴巴| 农历七月是什么月份| 花是植物的什么器官| 糖尿病人能喝什么饮料| 脱发看什么科| 梦见和别人结婚是什么意思| 煲电话粥什么意思| 一个木一个西读什么| 蚊子为什么咬人| 牛腩炖什么好吃| 梦见娃娃是什么意思| 白果治什么病| 内向的人适合什么工作| 米油是什么| 痔疮是什么感觉| 今年清明节有什么讲究| 花心是什么意思| moda是什么牌子| 一日清闲一日仙是什么生肖| 什么像什么| 脖子右侧疼是什么原因| 怀孕腿抽筋是因为什么原因引起的| 输卵管造影是什么意思| 高密度脂蛋白低是什么原因| cl是什么牌子| 曹操什么星座| 包皮与包茎有什么区别| 仙草是什么草| 七月十号是什么日子| chloe什么牌子| 杀青什么意思| 银耳钉变黑了说明什么| moo是什么意思| 纳豆激酶有什么作用| 待业是什么意思| 尿酸高适合吃什么水果| 痛风能吃什么鱼| 女人的秘密是什么| 锦纶氨纶是什么面料| 遇到黄鼠狼是什么征兆| 昏厥是什么意思| 缺钾有什么症状和危害| 带状疱疹挂什么科室| 什么叫同房| 女人梦到小蛇什么预兆| 相破是什么意思| sey什么意思| 什么矿泉水比较好| 与其让你在我怀中枯萎是什么歌| 诱导是什么意思| 什么是蝴蝶宝宝| 五一年属什么生肖| 心电图电轴右偏是什么意思| 早入簧门姓氏标什么意思| 正常人吃叶酸有什么好处| 毛囊炎用什么药最有效| 魔芋粉是什么做的| 黄大仙是保佑什么的| 流量mb是什么意思| 两会什么时候开| 增殖灶是什么意思| 甲状腺有什么反应| 碳十四检测是查什么的| 失眠去药店买什么药| 气压是什么| 农字五行属什么| 拍身份证照片穿什么颜色衣服好看| 命中注定是什么意思| 廾是什么意思| 梧桐树长什么样子| 李连杰得了什么病| 什么是调剂| 褥疮用什么药膏| 血止不住是什么原因| 月子里可以吃什么水果| 手肿是什么病的前兆| 精虫上脑是什么意思| 小孩说话晚是什么原因| 保肝护肝吃什么药好| 人大常委会主任是什么级别| 蓝莓树长什么样| 勤去掉力念什么| 血清铁蛋白是检查什么| 每次来月经都会痛经什么原因| 鱼不能和什么一起吃| 胃痉挛是什么症状| davena手表什么牌子| 锌是补什么的| 印记是什么意思| 甲状腺挂什么科室| 赑屃是什么意思| 息肉和痔疮有什么区别| 芝麻分是什么意思| 黄瓜为什么叫黄瓜| 尿隐血阳性是什么病| 喝什么能补肾| 儿童风热感冒吃什么药| hl是什么意思| 一直倒霉预示着什么| 长湿疹是什么原因引起的| 裙裤适合什么人穿| 薄谷开来为什么杀人| 恐龙生活在什么时代| 什么叫眼睛散光| 日柱国印是什么意思| 可爱的动物是什么生肖| 射精是什么意思| 荷叶泡水喝有什么作用| 什么东西最伤肾| 呃逆是什么意思| 眼睑浮肿是什么原因| 1991年什么命| 2003年出生属什么| 头顶疼是什么原因引起的| 沉冤得雪是什么意思| 老爹鞋适合什么人穿| 胃息肉吃什么药| 护士是什么专业| 白头发缺什么维生素| 熊猫为什么被称为国宝| 低血压是什么| 2月29日是什么星座| 10月28号是什么星座| 月经推迟什么原因| 游泳是什么运动| 各位同仁用在什么场合| 为什么一分钟就出来了| 很黄很暴力是什么意思| 什么硬币最值钱| 伶人是什么意思| 紫色加绿色是什么颜色| 颈椎病用什么药膏| 几年是什么年| 金达克宁和达克宁有什么区别| 代肝是什么意思| 什么样的人容易中暑| 右边小腹疼是什么原因| 行善积德是什么生肖| 人生最大的遗憾是什么| 儿童腿疼挂什么科| 刚怀孕有什么办法打掉| dic是什么意思| 维生素c的作用是什么| 牙根痛吃什么药| 猫死后为什么要挂在树上| 大饼脸适合什么发型| 护理专业学什么| 玫瑰花茶和什么搭配好| 目加此念什么| 双规是什么| 胸腔里面像岔气了的疼是什么原因| 经辐照是什么意思| 7月29是什么星座| 立夏是什么意思| 喝什么茶减肥最有效| 印尼用什么货币| 怼人是什么意思| 红肉是指什么肉| 吃洋葱有什么好处和坏处| 支气管扩张是什么原因引起| 什么什么三什么成语| 什么东西护肝养肝| 尿频尿急尿不尽吃什么药效果最好| 喜五行属什么| 痔疮和肛周脓肿有什么区别| 电头是什么| 四两棉花歇后语是什么| 头响脑鸣是什么原因引起的| 收尾是什么意思| 金银花入什么经| 一直打嗝不止是什么原因| 牛的本命佛是什么佛| 症候群什么意思| 变色龙吃什么食物| dr什么意思| 户籍类型是什么| 气短吃什么药| 百度Jump to content

头小脸小适合什么发型

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 24.50.56.74 (talk) at 00:32, 1 August 2025. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
百度 MUMOON设计师渴望在生活之内、在功能性之外,创造与众不同的艺术感受,用极致设计呈现匠心之美。

Modules in C++ are a feature added in C++20 implementing modular programming as a modern alternative to precompiled headers.[1] A module in C++ comprises a single translation unit.[2] Like header files and implementation files, a module can contain declarations and definitions, but differ from precompiled headers in that they do not require the preprocessor directive #include, but rather are accessed using the word import. A module must be declared using the word module to indicate that the translation unit is a module.[1] A module, once compiled, is stored as a .pcm (precompiled module) file which acts very similar to a .pch (precompiled header) file.[3]

Modules most commonly have the extension .cppm (primarily common within Clang and GCC toolchains), though some alternative extensions include .ixx and .mxx (more common in Microsoft/MSVC toolchains).[4]

Though the standard C language does not have modules, dialects of C allow for modules, such as Clang C.[5] However, the syntax and semantics of Clang C modules differ from C++ modules significantly.

History

Prior to the conception of modules, C++ relied on the system of headers and source files. Precompiled headers existed and were similar to modules as snapshots of translation units easier to parse by the compiler and thus providing faster compilation[6], but did not have the same laws of encapsulation as modules. Modules were first proposed in 2012 for inclusion to C++14[7], but underwent extensive revisions and an entire redesign until the modern form was merged into C++20.[8]

Main uses

Modules provide the benefits of precompiled headers of faster compilation than #included traditional headers, as well as and faster processing during the linking phase.[9][10] This is because modules are not handled by the C preprocessor during the preprocessing step, but rather directly by the compiler during compilation.[11] Modules also reduce boilerplate by allowing code to be implemented in a single file, rather than being separated across a header file and source implementation, although separation of "interface file" and "implementation file" is still possible with modules, though modules provide a cleaner encapsulation of code.[2] Modules eliminate the necessity of #include guards or #pragma once, as modules do not directly modify the source code. Modules, unlike headers, do not have to be processed or recompiled multiple times.[9] However, similar to headers, any change in a module necessitates the recompilation of not only the module itself but also all its dependencies, and the dependencies of those dependencies, et cetera. Like headers, modules do not permit circular dependencies, and will not compile.[12]

A module is imported using the keyword import followed by a module name[a], while a module is declared with export module followed by the name. All symbols within a module meant to be exposed publicly are marked export, and importing the module exposes all exported symbols to the translation unit. If a module is never imported, it will never be linked.[13] Modules can export named symbols, but not macros which are consumed before compilation.[14]

Unlike header inclusions, the order of import statements do not matter.[9] A module can allow for transitive imports by marking an import with export import, which re-exports the imported module to a translation unit that imports the first module.[1] Modules do not enforce any notion of namespaces, but it is not uncommon to see projects manually associate modules to namespaces (for example, a namespace like exampleproj::util::contents being tied to the module exampleproj.util.contents).[1] using statements will only be applied in translation units if explicitly marked export, making it much less likely that using a using statement to bring symbols into the global namespace will cause name clashes across module translation units. This resolves pollution of using statements in headers, which due to textual inclusion of the header by an #include directive, will always result in using statements adding symbols into scope, even if unintentional.

Standard library modules

Since C++23, the C++ standard library has been exported as a module as well, though as of currently it must be imported in its entirety (using import std;).[15] The C++ standards offer two standard library modules:

Name Description
std Exports all declarations in namespace std and global storage allocation and deallocation functions that are provided by the importable C++ library headers including C library facilities (although declared in standard namespace).
std.compat Exports the same declarations as the named module std, and additionally exports functions in global namespace in C library facilities. It thus contains "compat" in the name, meaning compatibility with C.

The module names std and std.* are reserved by the C++ standard, and thus declaring a module whose name matches either pattern will issue a compiler warning.[16] However, most compilers provide a flag to bypass or suppress that warning (for example -Wno-reserved-module-identifier in Clang and GCC).[3]

Tooling support

Currently, only GCC, Clang, and MSVC offer support for modules and import std;.[17] The Clangd language server supports modules.

Build system support varies. CMake, MSBuild, XMake, Meson, and Build2 provide full support for modules. Generated build systems such as Make and Ninja also have support for modules. However, Gradle for C++ and Bazel do not yet support modules.[18]

Example

A simple example of using modules is as follows:

MyClass.cppm

export module myproject.MyClass;

import std;

export namespace myproject {

class MyClass {
private:
    int x;
    std::string name;
public:
    MyClass(int x, const std::string& name):
        x{x}, name{name} {}

    [[nodiscard]]
    int getX() const noexcept {
        return x;
    }

    void setX(int newX) noexcept {
        x = newX;
    };

    [[nodiscard]]
    std::string getName() const noexcept {
        return name;
    }

    void setName(const std::string& newName) noexcept {
        name = newName;
    }
};

}

Main.cpp

import std;

import myproject.MyClass;

using myproject::MyClass;

int main(int argc, char* argv[]) {
    MyClass me(10, "MyName");
    me.setX(15);
    std::println("Hello, {0}! {0} contains value {1}.", me.getName(), me.getX());
}

Header units

Headers may also be imported using import, even if they are not declared as modules. Imported headers are called "header units", and are designed to allow existing codebases to migrate from headers to modules more gradually.[19][20] The syntax is similar to including a header, with the difference being that #include is replaced with import. As import statements are not preprocessor directives but rather statements of the language read by the compiler[11], they must be terminated by a semicolon. Header units automatically export all symbols, and differ from proper modules in that they allow the emittance of macros, meaning all translation units that import the header unit will obtain its contained macros. This offers minimal breakage between migration to modules.[9] The semantics of searching for the file depending on whether quotation marks or angle brackets are used apply here as well. For instance, one may write import <string>; to import the <string> header, or import "MyHeader.h"; to import the file "MyHeader.h" as a header unit.[1] Most build systems, such as CMake, do not support this feature yet.[21]

Anatomy

Module partitions and hierarchy

Modules may have partitions, which separate the implementation of the module across several files.[1] Module partitions are declared using the syntax A:B, meaning the module A has the partition B. Module partitions cannot individually be imported outside of the module that owns the partition itself, meaning that any translation unit that requires code located in a module partition must import the entire module that owns the partition.[1]

The module partition B is linked back to the owning module A with the statement import :B; in the file containing the declaration of module A or any other module partition of A (say A:C), which implicitly resolves :B to A:B, because the module is named A.[3] These import statements may themselves be exported by the owning module, even if the partition itself cannot be imported directly, and thus importing code from a partition is done by just importing the entire module.[1]

Other than partitions, modules do not have a hierarchical system or "submodules", but typically use a hierarchical naming convention, similar to Java's packages[b]. Only alphanumeric characters and the period and underscore may appear in the name of a module.[22] In C++, the name of a module is not tied to the name of its file or the module's location, unlike in Java[23], and the package it belongs to must match the path it is located in.[24] For example, the modules A and A.B in theory are disjoint modules and need not necessarily have any relation, however such a naming scheme is often employed to suggest that the module A.B is related or otherwise associated with the module A.[1]

The naming scheme of a C++ module is inherently hierarchical, and the C++ standard recommends re-exporting "sub-modules" belonging to the same public API (i.e. module alpha.beta.gamma should be re-exported by alpha.beta, etc.), even though dots in module names do not enforce any hierarchy. The C++ standard recommends lower-case ASCII module names (without hyphens or underscores), even though there is technically no restriction in such names.[25] Also, because modules cannot be re-aliased or renamed (short of re-exporting all symbols in another module), module names can be prefixed with organisation/project names for both clarity and to prevent naming clashes (i.e. google.abseil instead of abseil).[25] Also, unlike Java, whose packages may typically include an additional top-level domain (TLD) in front to avoid namespace clashes, C++ modules need not have this convention (for example, it may be more common to see example.myfunctionality.MyModule than com.example.myfunctionality.MyModule, though both names are valid).

Module purview and global module fragment

In the above example, everything above the line export module myproject.MyClass; in the file MyClass.cppm is referred to as what is "outside the module purview", meaning what is outside of the scope of the module.[1] Typically, all #includes are placed outside the module purview between the statement module; and the declaration of export module, like so:

module; // Optional; marks the beginning of the global module fragment (mandatory if an include directive is invoked above the export module declaration)

// Headers are included in outside the module purview, before the module is declared
#include <print>
#include "MyHeader.h"

export module myproject.MyModule; // Mandatory; marks the beginning of the module preamble

// Imports of named modules and header units come after the module declaration
// Import statements are placed immediately after the module declaration and do not appear after any code or symbol declarations
// In non-module translation units, #include directives precede import statements
import std;
import <string>;
import myproject.util.UtilitySymbols;
import "Foo.h";
import <thirdlib/features/Feature.h>;

// Code here...

module: private; // Optional; marks the beginning of the private module fragment

All code which does not belong to any module exists in the so-called "unnamed module" (also known as the global module fragment), and thus cannot be imported by any module.[1]

The file containing main() may declare a module, but typically it does not (as it is unusual to export main() as it is typically only used as an entry point to the program, and thus the file is usually a .cpp file and not a .cppm file). A program is ill-formed if it exports main() and doing so causes undefined behaviour[26], but will not necessarily be rejected by the compiler.

Private module fragment

A module may declare a "private module fragment" by writing module: private;, in which all declarations or definitions after the line are visible only from within the file and cannot be accessed by translation units that import that module.[3] Any module unit that contains a private module fragment must be the only module unit of its module.[1]

Third-party library support

As modules are a recent addition and compiler vendors were notably slow to develop module support, most third-party libraries are still offered only as headers. However, some popular libraries have added module support. These include fmt (a formatting and printing library), nlohmann.json (a JSON library), and various boost.* libraries from the Boost C++ libraries.[27]

Clang C modules

An unrelated, but similar feature are Clang C modules. Clang offers non-standard module support for C, however the semantics differ significantly from C++ modules. Clang C modules exist for essentially the same reason as C++ modules:[5]

  • To ensure translation units are compiled only once
  • To ensure translation units are included only once
  • To prevent leakage of unwanted macros
  • To ensure clear boundaries of a library (i.e. specify what headers belong to what library)
  • To explicitly control what symbols are exported

C modules instead use a file called module.modulemap to define modules. For instance, the C standard library module map may look something like:

module std [system] [extern_c] {
    module assert {
        textual header "assert.h"
        header "bits/assert-decls.h"
        export *
    }

    module complex {
        header "complex.h"
        export *
    }

    module ctype {
        header "ctype.h"
        export *
    }

    module errno {
        header "errno.h"
        header "sys/errno.h"
        export *
    }

    module fenv {
        header "fenv.h"
        export *
    }

    // ...more headers follow...
}

This allows for the importing of C libraries like so:

import std.io;

int main(int argc, char* argv[]) {
    if (argc > 1) {
        printf("Hello, %s!\n", argv[1]);
    } else {
        printf("Hello, world!\n");
    }
    return 0;
}

Clang C modules can also be used in C++, although this is less portable as these conflict with the existing module implementation in C++. For example, the std module shown earlier can be extended to C++ using a requires declaration:

module std {
     // C standard library...

     module vector {
         requires cplusplus
         header "vector"
     }

     module type_traits {
         requires cplusplus11
         header "type_traits"
     }

     // more headers...
}

See also

Notes

  1. ^ The import keyword in C++ differs in meaning than other languages. For instance, import in Java is actually analogous to using in C++ and not C++ import. In the former, an import simply aliases the type or de-qualifies a namespace, because Java loads .class files dynamically as necessary, thus making all types available simply by fully qualifying all namespaces (rather than having to explicitly declare accessible modules). However, in C++ modules are not automatically all linked, and thus they must be manually "imported" to be made accessible, as import indicates that the translation unit must access code in the imported module. Thus, it is probably more appropriate to compare import in C++ to mod in Rust, which "declares" or indicates to the compiler to find the module to link against.
  2. ^ It is more appropriate to compare packages in Java and modules in C++, rather than modules in Java and modules in C++. Modules in C++ and Java differ in meaning. In Java, a module (which is handled by the Java Platform Module System) is used to group several packages together, while in C++ a module is a translation unit, strictly speaking.

References

  1. ^ a b c d e f g h i j k l cppreference.com (2025). "Modules (since C++20)". cppreference.com. Retrieved 2025-08-05.
  2. ^ a b Szalay, R.; Porkoláb, Z. (2025). "Refactoring to Standard C++20 Modules". Journal of Software: Evolution and Process. 37 (e2736). doi:10.1002/smr.2736. Retrieved 2025-08-05.
  3. ^ a b c d "Standard C++ Modules". clang.llvm.org.
  4. ^ "Overview of modules in C++". Microsoft. 24 April 2023.
  5. ^ a b "Modules". clang.llvm.org.
  6. ^ "Creating Precompiled Header Files". MSDN. Microsoft. 2015. Archived from the original on 2025-08-05. Retrieved 2025-08-05.
  7. ^ Daveed Vandevoorde (2025-08-05). "N3347=12-0037: Modules in C++ (Revision 6)" (PDF). ISO/IEC JTC1/SC22/WG21. Retrieved 2025-08-05.
  8. ^ Richard Smith (2025-08-05). "P1103R3: Merging Modules" (PDF). ISO/IEC JTC1/SC22/WG21. Retrieved 2025-08-05.
  9. ^ a b c d "Compare header units, modules, and precompiled headers". Microsoft. 12 February 2022.
  10. ^ Paul Krill (2 June 2022). "C++ 23 to introduce module support". InfoWorld.
  11. ^ a b Michael Spencer (2025-08-05). "P3034R1: Module Declarations Shouldn't be Macros". ISO/IEC JTC1/SC22/WG21. Retrieved 2025-08-05.
  12. ^ ISO/IEC 14882:2020. Programming Languages – C++ (3rd ed.). International Organization for Standardization. §9.3, "Module interface units and import/export rules," and §16.3, "Module dependencies."
  13. ^ ISO/IEC 14882:2020. Programming Languages – C++ (3rd ed.). International Organization for Standardization. §9.3, "Module interface units and import/export rules," and §16.2, "Module import semantics."
  14. ^ Alisdair Meredith (2025-08-05). "DxxxxR0: Modules and Macros". ISO C++. Retrieved 2025-08-05.
  15. ^ "Standard library - Importing modules". cppreference.com.
  16. ^ cppreference.com (2025). "C++ Standard Library". cppreference.com. Retrieved 2025-08-05.
  17. ^ "Compiler support for C++20". cppreference.com.
  18. ^ "Are We Modules Yet?: Tools Support". arewemodulesyet.org. Elias Steurer.
  19. ^ "Walkthrough: Build and import header units in Microsoft Visual C++". Microsoft. 12 April 2022.
  20. ^ "Standard C++ Modules - Header Units". clang.llvm.org.
  21. ^ CppNow (2025-08-05). The Challenges of Implementing C++ Header Units: C++ Modules - Daniel Ruoso - CppNow 2023. YouTube. Retrieved 2025-08-05.
  22. ^ ISO/IEC 14882:2020. Programming Languages – C++ (3rd ed.). International Organization for Standardization. §9.2, "Module interface units and import/export rules."
  23. ^ "Creating a Package". docs.oracle.com.
  24. ^ "Managing Source and Class Files". docs.oracle.com.
  25. ^ a b "Naming guidelines for modules". isocpp.org.
  26. ^ ISO/IEC 14882:2020. Programming Languages – C++ (3rd ed.). International Organization for Standardization. §3.6.1. "Program execution: the main() function."
  27. ^ "Are We Modules Yet?". arewemodulesyet.org. Elias Steurer.
少阳病是什么意思 出海是什么意思 郑和下西洋是什么朝代 imax是什么 特殊门诊是什么意思
7月1号什么节 大头菜又叫什么菜 流苏是什么意思 东北方向五行属什么 一个王一个番读什么
梦见自己在飞是什么征兆 囊性灶什么意思 月非念什么 错构瘤是什么 男人做梦梦到蛇是什么意思
法字五行属什么 什么菜好吃 钙化斑是什么意思 泼皮是什么意思 腿痒是什么原因
小孩晚上睡不着是什么原因hcv8jop1ns5r.cn 什么的陪伴hcv8jop4ns6r.cn 上面白下面本念什么hcv8jop9ns5r.cn 缗什么意思hcv9jop1ns6r.cn 什么笑容hcv8jop3ns0r.cn
小河虾吃什么hcv8jop6ns6r.cn 小孩眼屎多是什么原因引起的hcv8jop3ns2r.cn 怀孕不能吃什么水果hcv8jop6ns9r.cn 吹泡泡什么意思hcv7jop9ns2r.cn 谵语是什么意思hcv8jop9ns6r.cn
什么样的人着床晚hcv9jop2ns5r.cn cathy是什么意思hcv8jop3ns7r.cn 不怀孕需要做什么检查项目hcv7jop9ns4r.cn 时蔬是什么意思hcv9jop2ns0r.cn 黄什么什么hcv7jop9ns4r.cn
痛风有什么不能吃aiwuzhiyu.com 青津果的功效是什么hcv9jop3ns2r.cn 脑梗死吃什么药aiwuzhiyu.com 维生素c弱阳性是什么意思hebeidezhi.com 为什么会得心脏病onlinewuye.com
百度