欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++ odr用法案例詳解

 更新時間:2021年09月13日 11:36:55   作者:會會會飛的魚  
這篇文章主要介紹了C++ odr用法案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
// The main module. File: odr_test1.cpp 
 
#include <iostream>
 
void module1_print(); // declaration of an exeternal function
 
inline int f1()
{
	return 4;
}
 
class A
{
public:
	static double f()
	{
		return 4.1;
	}
};
 
const double C = 4.2;
 
constexpr double E = 4.5;
 
void print()
{
	std::cout << "main f1(): " << f1() << std::endl;
	std::cout << "main A::f(): " << A::f() << std::endl;
	std::cout << "main C: " << C << std::endl;
	std::cout << "main E: " << E << std::endl;
}
 
int main()
{
	module1_print();
	print();
 
	int i;
	std::cin >> i;	
}
 
// File: module1.cpp
 
#include <iostream>
 
inline int f1()
{
	return 3;
}
 
class A
{
public:
	static double f()
	{
		return 3.1;
	}
};
 
const double C = 3.2;
 
constexpr double E = 3.5;
 
void module1_print()
{
	std::cout << "module1 f1(): " << f1() << std::endl;
	std::cout << "module1 A::f(): " << A::f() << std::endl;
	std::cout << "module1 C: " << C << std::endl;
	std::cout << "module1 E: " << E << std::endl;
}

1、在VS2017上運行的結(jié)果為:

2、使用clang進(jìn)行編譯

clang++ module1.cpp odr_test1.cpp

 運行結(jié)果:

若進(jìn)行下面的編譯:

clang++ odr_test1.cpp module1.cpp

 則結(jié)果如下 

3、使用gcc編譯

g++ module1.cpp odr_test1.cpp -std=c++11

 

若進(jìn)行如下編譯

g++ odr_test1.cpp module1.cpp -std=c++11

二、如何解決這個問題

// The main module. File: odr_test2.cpp
#include <iostream>
void module2_print(); // declaration of an external function
 
namespace
{
inline int f1()
{
return 4;
}
 
class A
{
public:
static double f()
{
return 4.1;
}
};
}
 
const double C = 4.2;
constexpr double E = 4.5;
 
void print()
{
std::cout << "main f1(): " << f1() << std::endl;
std::cout << "main A::f(): " << A::f() << std::endl;
std::cout << "main C: " << C << std::endl;
std::cout << "main E: " << E << std::endl;
}
 
int main()
{
module2_print();
print();
 
int i;
std::cin >> i;
}
// File: module2.cpp
 
#include <iostream>
 
namespace
{
inline int f1()
{
return 3;
}
 
class A
{
public:
static double f()
{
return 3.1;
}
};
}
 
const double C = 3.2;
constexpr double E = 3.5;
 
void module2_print()
{
std::cout << "module2 f1(): " << f1() << std::endl;
std::cout << "module2 A::f(): " << A::f() << std::endl;
std::cout << "module2 C: " << C << std::endl;
std::cout << "module2 E: " << E << std::endl;
}

運行結(jié)果

 

到此這篇關(guān)于C++ odr用法案例詳解的文章就介紹到這了,更多相關(guān)C++ odr用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于OpenCv的運動物體檢測算法

    基于OpenCv的運動物體檢測算法

    這篇文章主要為大家詳細(xì)介紹了基于OpenCv的運動物體檢測算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++ 學(xué)習(xí)之旅三 我和超級瑪麗有個約會

    C++ 學(xué)習(xí)之旅三 我和超級瑪麗有個約會

    學(xué)習(xí)了c++有一周有余了吧,感謝孫鑫老師的視頻教程,讓我   對C++有了基本的了解,并理解到C++與.net 的許許多多的區(qū)別,更要感謝網(wǎng)民為programaking的人,會為我提供了超級瑪麗制作揭秘 這套寶貴的教程,讓我 做做出了這個項目,對c++ 有了一個更深層次的認(rèn)識
    2012-11-11
  • OpenCV實現(xiàn)拼圖算法

    OpenCV實現(xiàn)拼圖算法

    這篇文章主要為大家詳細(xì)介紹了OpenCV實現(xiàn)拼圖算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C語言題目:有多少張桌子--并查集

    C語言題目:有多少張桌子--并查集

    并查集是一種用于管理分組的數(shù)據(jù)結(jié)構(gòu)。它具備兩個操作:(1)查詢元素a和元素b是否為同一組 (2) 將元素a和b合并為同一組,需要的朋友可以參考下
    2021-09-09
  • 用C語言實現(xiàn)計算器功能

    用C語言實現(xiàn)計算器功能

    這篇文章主要為大家詳細(xì)介紹了用C語言實現(xiàn)計算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 詳解約瑟夫環(huán)問題及其相關(guān)的C語言算法實現(xiàn)

    詳解約瑟夫環(huán)問題及其相關(guān)的C語言算法實現(xiàn)

    這篇文章主要介紹了詳解約瑟夫環(huán)問題及其相關(guān)的C語言算法實現(xiàn),也是ACM當(dāng)中經(jīng)常會引用到的基礎(chǔ)題目,文中共介紹了三種C語言解答,需要的朋友可以參考下
    2015-08-08
  • C++空類及沒有成員變量的類的大小實例分析

    C++空類及沒有成員變量的類的大小實例分析

    這篇文章主要介紹了C++空類及沒有成員變量的類的大小,對于初學(xué)者更好的了解C++的指針及類的存儲結(jié)構(gòu)很有幫助,需要的朋友可以參考下
    2014-07-07
  • C++深入探究繼承的概念與使用

    C++深入探究繼承的概念與使用

    繼承是C++面向?qū)ο缶幊讨械囊婚T。繼承是子類繼承父類的特征和行為,或者是繼承父類得方法,使的子類具有父類得的特性和行為。重寫是子類對父類的允許訪問的方法實行的過程進(jìn)行重新編寫,返回值和形參都不能改變。就是對原本的父類進(jìn)行重新編寫,但是外部接口不能被重寫
    2022-05-05
  • 你不知道的C++中namespace和using的用法實例

    你不知道的C++中namespace和using的用法實例

    在C++語言編寫的程序中,變量和函數(shù)等的作用范圍是有一定限制的,下面這篇文章主要給大家介紹了一些你不知道的C++中namespace和using的用法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • c病毒程序原理分析(防范病毒 c語言小病毒示例)

    c病毒程序原理分析(防范病毒 c語言小病毒示例)

    這篇文章主要介紹了病毒程序原理,寫個小程序做演示,大家可以參考這個以防中相似C病毒
    2013-12-12

最新評論