自己遇到问题清单

来源:互联网 发布:倩女手游 mac 编辑:程序博客网 时间:2024/05/02 01:19

C/C++ 部分

1. pragma once 跟 ifndef 的区别

2. 变量或者函数在连接的时候被多处定义的问题

描述:如有文件head.hpp, test.cpp, main.cpp


//File haed.hpp#include<string>void foo(){}std::string testStr="abc";const std::string constStr="js";void test();#endif

//File test.cpp#include"head.hpp"void test(){}

//File main.cpp#include"head.hpp"int main(){}


问题是分别编译test.cpp跟main.cpp生产.o目标文件没问题,链接test.o main.o生成最终的可执行文件时候foo函数在多处定义, string testStr也在多处定义,为啥const的constStr没有问题呢? 

0 0
原创粉丝点击