【快播報】為什么需要命名空間?使用命名空間解決名字沖突
??一、為什么需要命名空間(問題提出)
命名空間是ANSIC++引入的可以由用戶命名的作用域,用來處理程序中常見的同名沖突。
在 C語言中定義了3個層次的作用域,即文件(編譯單元)、函數和復合語句。C++又引入了類作用域,類是出現在文件內的。在不同的作用域中可以定義相同名字的變量,互不于擾,系統能夠區別它們。
(資料圖)
1、全局變量的作用域是整個程序,在同一作用域中不應有兩個或多個同名的實體(enuty),包括變量、函數和類等。
例:如果在文件中定義了兩個類,在這兩個類中可以有同名的函數。在引用時,為了區別,應該加上類名作為限定:
class A//聲明A類
{public:
void funl();//聲明A類中的funl函數
private:
int i; };
void A::funl() //定義A類中的funl函數
{…………}
class B //聲明B類
{public:
void funl(); //B類中也有funl函數
void fun2(); };
void B::funl() //定義B類中的funl函數
{ …………}
這樣不會發生混淆。
在文件中可以定義全局變量(global variable),它的作用域是整個程序。如果在文件A中定義了一個變量aint a=3;
在文件B中可以再定義一個變量aint a=5;
在分別對文件A和文件B進行編譯時不會有問題。但是,如果一個程序包括文件A和文件B,那么在進行連接時,會報告出錯,因為在同一個程序中有兩個同名的變量,認為是對變量的重復定義。
可以通過extern聲明同一程序中的兩個文件中的同名變量是同一個變量。如果在文件B中有以下聲明:
extem int a;
表示文件B中的變量a是在其他文件中已定義的變量。由于有此聲明,在程序編譯和連接后,文件A的變量a的作用域擴展到了文件B。如果在文件B中不再對a賦值,則在文件B中用以下語句輸出的是文件A中變量a的值: cout<<A; 得到a的值為3<="" p="">
2、程序中就會出現名字沖突。
在簡單的程序設計中,只要人們小心注意,可以爭取不發生錯誤。但是,一個大型的應用軟件,往往不是由一個人獨立完成的,而是由若干人合作完成的,不同的人分別完成不同的部分,最后組合成一個完整的程序。假如不同的人分別定義了類,放在不同的頭文件中,在主文件(包含主函數的文件)需要用這些類時,就用#include命令行將這些頭文件包含進來。由于各頭文件是由不同的人設計的,有可能在不同的頭文件中用了相同的名字來命名所定義的類或函數。
例4 名字沖突
程序員甲在頭文件headerl.h中定義了類 Student和函數fun。
// 例4中的頭文件header1(頭文件1,沒其文件名為cc8-4-h1.h)
#include
#include
using namespace std;
class Student //聲明Student類
{public:
Student(int n,string nam,int a)
{num=n;name=nam;age=a;}
void get_data();
private:
int num;
string name;
int age; };
void Student::get_data() //成員函數定義
{ cout<<NUM<<" p="" ?<<name<double fun(double a,double b)//定義全局函數(即外部函數)
{ return sqrt(a+b);}
在 main函數所在的文件中包含頭文件headerl.h:
#include
using namespace std;
#include "header1.h" //注意要用雙引號,因為文件一般是放在用用戶目錄中的
int main()
{Student stud1(101,"Wang",18); //定義類對象studl
stud1.get_data();
cout<<FUN(5,3)<<ENDL;< p="">
return 0; }
程序 能正常運行,輸出為
101 Wang 18
2.82843
如果程序員乙寫了頭文件header2.h,在其中除了定義其他類以外,還定義了類Student和函數fun,但其內容與頭文件headerl.h中的 Student和函數fun有所不同。
// 例4中的頭文件header2
#include
#include
using namespace std;
class Student //聲明Student類
{ public:
Student(int n,string nam,char s) //參數與headerl中的student不同
{ num=n;name=nam;sex=s;}
void get_data();
private:
int num;
string name;
char sex; };//此項與headerl不同
void Student::get_data() //成員函數定義
{ cout<<NUM<<" p="" ?<<name<
double fun(double a,double b) //定義全局函數
{ return sqrt(a-b);} //返回值與headerl中的fun函數不同
//頭文件2中可能還有其他內容
假如主程序員在其程序中要用到headerl.h中的Student和函數fun,因而在程序中包含了頭文件headerl.h,同時要用到頭文件 header2.h中的一些內容(但對header2.h中包含與headerl.h中的Student類和fun函數同名而內容不同的類和函數并不知情,因為在一個頭文件中往往包含許多不同的信息,而使用者往往只關心自己所需要的部分,而不注意其他內容),因而在程序中又包含了頭文件 header2.h。如果主文件(包含主函數的文件)如下:
#include
using namespace std;
#include "header1.h"http://包含頭文件l
#include "header2.h"http://包含頭文件2
int main()
{ Student stud1(101,"Wang",18);
stud1.get_data();
cout<<FUN(5,3)<<ENDL;< p="">
return 0; }
這時程序編譯就會出錯。因為在預編譯后,頭文件中的內容取代了對應的#include命令行,這樣就在同一個程序文件中出現了兩個Student類和兩個 fun函數,顯然是重復定義,這就是名字沖突,即在同一個作用域中有兩個或多個同名的實體。
3、全局命名空間污染(global namespace pollution)。
在程序中還往往需要引用一些庫(包括C++編譯系統提供的庫、由軟件開發商提供的庫或者用戶自己開發的庫),為此需要包含有關的頭文件。如果在這些庫中包含有與程序的全局實體同名的實體,或者不同的庫中有相同的實體名,則在編譯時就會出現名字沖突。
為了避免這類問題的出現,人們提出了許多方法,例如:將實體的名字寫得長—些(包含十幾個或幾十個字母和字符);把名字起得特殊一些,包括一些特殊的字符;由編譯系統提供的內部全局標識符都用下劃線作為前綴,如_complex(),以避免與用戶命名的實體同名;由軟件開發商提供的實體的名字用特定的字符作為前綴。但是這樣的效果并不理想,而且增加了閱讀程序的難度,可讀性降低了。
C 語言和早期的C++語言沒有提供有效的機制來解決這個問題,沒有使庫的提供者能夠建立自己的命名空間的工具。人們希望ANSI C++標準能夠解決這個問題,提供—種機制、一種工具,使由庫的設計者命名的全局標識符能夠和程序的全局實體名以及其他庫的全局標識符區別開來。
二、什么是命名空間(解 決方案)
命名空間:實際上就是一個由程序設計者命名的內存區域,程序設計者可以根據需要指定一些有名字的空間域,把一些全局實體分別放在各個命名空間中,從而與其他全局實體分隔開來。
如: namespace ns1 //指定命名中間nsl
{ int a;
double b; }
namespace 是定義命名空間所必須寫的關鍵字,nsl 是用戶自己指定的命名空間的名字(可以用任意的合法標識符,這里用ns1是因為ns是namespace的縮寫,含義請楚),在花括號內是聲明塊,在其中聲明的實體稱為命名空間成員(namespace member)。現在命名空間成員包括變量a和b,注意a和b仍然是全局變量,僅僅是把它們隱藏在指定的命名空間中而已。如果在程序中要使用變量a和b,必須加上命名空間名和作用域分辨符“::”,如nsl::a,nsl::b。這種用法稱為命名空間限定(qualified),這些名字(如nsl::a)稱為被限定名 (qualified name)。C++中命名空間的作用類似于操作系統中的目錄和文件的關系,由于文件很多,不便管理,而且容易重名,于是人們設立若干子目錄,把文件分別放到不同的子目錄中,不同子目錄中的文件可以同名。調用文件時應指出文件路徑。
命名空間的作用:是建立一些互相分隔的作用域,把一些全局實體分隔開來。以免產生老點名叫李相國時,3個人都站起來應答,這就是名字沖突,因為他們無法辨別老師想叫的是哪一個李相國,同名者無法互相區分。為了避免同名混淆,學校把3個同名的學生分在3個班。這樣,在小班點名叫李相國時,只會有一個人應答。也就是說,在該班的范圍(即班作用域)內名字是惟一的。如果在全校集合時校長點名,需要在全校范圍內找這個學生,就需要考慮作用域問題。如果校長叫李相國,全校學生中又會有3人一齊喊“到”,因為在同一作用域中存在3個同名學生。為了在全校范圍內區分這3名學生,校長必須在名字前加上班號,如高三甲班的李相國,或高三乙班的李相國,即加上班名限定。這樣就不致產生混淆。
可以根據需要設置許多個命名空間,每個命名空間名代表一個不同的命名空間域,不同的命名空間不能同名。這樣,可以把不同的庫中的實體放到不同的命名空間中,或者說,用不同的命名空間把不同的實體隱蔽起來。過去我們用的全局變量可以理解為全局命名空間,獨立于所有有名的命名空間之外,它是不需要用 namespace聲明的,實際上是由系統隱式聲明的,存在于每個程序之中。
在聲明一個命名空間時,花括號內不僅可以包括變量,而且還可以包括以下類型:
·變量(可以帶有初始化);
·常量;
·數(可以是定義或聲明);
·結構體;
·類;
·模板;
·命名空間(在一個命名空間中又定義一個命名空間,即嵌套的命名空間)。
例如
namespace nsl
{const int RATE=0.08; //常量
doublepay;//變量
doubletax()//函數
{return a*RATE;}
namespacens2//嵌套的命名空間
{int age;}
}
如果想輸出命名空間nsl中成員的數據,可以采用下面的方法:
cout<<nsl::rate<<endl;< p="">
cout<<nsl::pay<<endl;< p="">
cout<<nsl::tax()<<endl;< p="">
cout<<nsl::ns2::age<<endl; p="" 需要指定外層的和內層的命名中間名<="">
可以看到命名空間的聲明方法和使用方法與類差不多。但它們之間有一點差別:在聲明類時在右花括號的后面有一分號,而在定義命名空間時,花括號的后面沒有分號。
三、使用命名空間解決名字沖突(使用指南)
有了以上的基礎后,就可以利用命名空間來解決名字沖突問題?,F在,對例4程序進行修改,使之能正確運行。
例5 利用命名空間來解決例4程序名字沖突問題。
修改兩個頭文件,把在頭文件中聲明的類分別放在兩個不同的命名空間中。
//例8.5中的頭文件1,文件名為header1.h
using namespace std;
#include
#include
namespace ns1 //聲明命名空間ns1
{ class Student //在命名空間nsl內聲明Student類
{ public:
Student(int n,string nam,int a)
{ num=n;name=nam;age=a;}
void get_data();
private:
int num;
string name;
int age; };
void Student::get_data() //定義成員函數
{ cout<<NUM<<" p="" ?<<name<
double fun(double a,double b) //在命名空間n引內定義fun函數
{ return sqrt(a+b);}
}
//例 8.5中的頭文件2,文件名為header2.h
#include
#include
namespace ns2 //聲明命名空間ns2
{ class Student
{ public:
Student(int n,string nam,char s)
{ num=n;name=nam;sex=s;}
void get_data();
private:
int num;
string name;
char sex; };
void Student::get_data()
{ cout<<NUM<<" p="" ?<<name<
double fun(double a,double b)
{ return sqrt(a-b);}
}
//main file
#include
#include "header1.h" //包含頭文件l
#include "header2.h" //包含頭文件2
int main()
{ ns1::Student stud1(101,"Wang",18);//用命名空間nsl中聲明的Student類定義studt
stud1.get_data(); //不要寫成ns1::studl.get_data();
cout<<ns1::fun(5,3)<<endl; p="" 調用命名空間ns1中的fun函數<="">
ns2::Student stud2(102,"Li","f"); //用命名空間ns2中聲明的 Student類定義stud2
stud2.get_data();
cout<<ns2::fun(5,3)<<endl; p="" 調用命名空間nsl,中的fun函數<="">
return 0; }
解決本題的關鍵是建立了兩個命名空間nsl和ns2,將原來在兩個頭文件中聲叫的類分別放在命名空間nsl和ns2中。注意:在頭文件中,不要把#include命令放在命名空間中,在上一小節的敘述中可以知道,命名空間中的內容不包括命令行,否則編譯會出錯。
分析例4程序出錯的原因是:在兩個頭文件中有相同的類名Student和相同的函數名fun,在把它們包含在主文件中時,就產生名字沖突,存在重復定義。編譯系統無法辨別用哪一個頭文件中的Student來定義對象studl?,F在兩個Student和fun分別放在不同的命名空間中,各自有其作用域,互不相干。由于作用域不相同,不會產:生名字沖突。正如同在兩個不同的類中可以有同名的變量和函數而不會產生沖突一樣。
在定義對象時用ns1::Student(命名空間nsl中的Student)來定義studl,用ns2::Student(命名空間ns2中的 Student)來定義stud2。顯然,nsl::Student和ns2::Student是兩個不同的類,不會產生混淆。同樣,在調用fun函數時也需要用命名空間名ns]或ns2加以限定。ns1::fun()和ns2::fun()是兩個不同的函數。注意:對象studl是用 nsl::Student定義的,但對象studl并不在命名空間nsl中。studl的作用域為main函數范圍內。在調用對象studl的成員函數 get_data時,應寫成studl.get_data(),而不應寫成nsl::studl.get_data()。
程序 能順利通過編譯,并得到以下運行結果:
101 Wang l9 (對象studl中的數據)
2.82843 (/5+3的值)
102 Li f (對象studg中的數據)
1.41421 (/5-2的值)
四、使用命名空間成員的方法
從上面的介紹可以知道,在引用命名空間成員時,要用命名空間名和作用域分辨符對命名空間成員進行限定,以區別不同的命名空間中的同名標識符。即:
命名空間名::命名空間成員名
這種方法是有效的,能保證所引用的實體有惟一的名字。但是如果命名空間名字比較長,尤其在有命名空間嵌套的情況下,為引用一個實體,需要寫很長的名字。在一個程序中可能要多次引用命名空間成員,就會感到很不方便。
1 、使用命名空間別名
可以為命名空間起一個別名(namespace alias),用來代替較長的命名空間名。如
namespace Television //聲明命名空間,名為Television
{ ... }
可以用一個較短而易記的別名代替它。如:
namespace TV=Television; //別名TV與原名Television等價
也可以說,別名TV指向原名Television,在原來出現Television的位置都可以無條件地用TV來代替。
2、使用using命名空間成員名
using后面的命名空間成員名必須是由命名空間限定的名字。例如:
using nsl::Student;
以上語句聲明:在本作用域(using語句所在的作用域)中會用到命名空間ns1中的成員Student,在本作用域中如果使用該命名空間成員時,不必再用命名空間限定。例如在用上面的using聲明后,在其后程序中出現的Student就是隱含地指nsl::Student。
using聲明的有效范圍是從using語句開始到using所在的作用域結束。如果在以上的using語句之后有以下語句:
Student studl(101,"Wang",18); //此處的Student相當于ns1::Student
上面的語句相當于
nsl::Student studl(101,"Wang",18);
又如
using nsl::fun; //聲明其后出現的fun是屬于命名空間nsl中的fun
cout<<FUN(5,3)<<ENDL; p="" 此處處的fun函數相當于nsl::fun(5,3)<="">
顯然,這可以避免在每一次引用命名空間成員時都用命名空間限定,使得引用命名空間成員變得方便易用。
但是要注意:在同一作用域中用using聲明的不同命名空間的成員中不能有同名的成員。例如:
usmgnsl::Student; //聲明其后出現的Student是命名空間nsl中的Student
usmgns2::Student; //聲明其后出現的Student是命名空間ns2小的Student
Student stud1; //請問此處的Student是哪個命名中間中的Student?
產生了二義性,編譯出錯。
3、使用using namespace命名空間名
用上面介紹的using命名空間成員名,一次只能聲明一個命名空間成員,如果在一個命名空間中定義了10個實體,就需要使用10次using命名空間成員名。能否在程序中用一個語句就能一次聲明一個命名空間中的全部成員呢?
C++提供了using namespace語句來實現這一目的。using namespace語句的一般格式為
using namespace 命名空間名;
例如
using nanlespace nsl;
聲明了在本作用域中要用到命名空間nsl中的成員,在使用該命名空間的任何成員時都不必用命名空間限定。如果在作了上面的聲明后有以下語句:
Student studl(101,”Wang”,18); //Student隱含指命名中間nsl中的Student
cout<<FUN(5,3)<<ENDL; p="" 這里的fun函數是命名中間="" nsl中的fun函數<="">
在用usmgnamespace聲明的作用域中,命名空間nsl的成員就好像在全局域聲明的一樣。因此可以不必用命名空間限定。顯然這樣的處理對寫程序比較方便。但是如果同時用usingnamespace聲明多個命名空間時,往往容易出錯。例5中的main函數如果用下面程序段代替,就會出錯。
int main()
{ using namespace nsl;//聲明nsl中的成員在本作用域中可用
using namespace ns2;//聲明ns2中的成員在本作用域中可用
Student studl(101,”Wang",18);
studl.8ct_data();
cout<<FUN(5,3)<<ENDL;< p="">
Student stud2(102,"Li","r");
stud2.get_data();
coutt<<FUN(5,3)<<ENDL;< p="">
return O; }
因為在同一作用域中同時引入了兩個命名空間nsl和ns2,其中有同名的類和函數。在出現Student時,無法判定是哪個命名空間中的 Student,出現二義性,編譯出錯。因此只有在使用命名空間數量很少,以及確保這些命名空間中沒有同名成員時才用using namespace語句。
五、無名的命名空間
以上介紹的是有名字的命名空間,C++還允許使用沒有名字的命名空間,如在文件A中聲明了以下的無名命名空間:
namespace //命名空間沒有名字
{ void fun( ) //定 義命名空間成員
{ cout<<"OK."<<ENDL;}< p="">
}
由于命名空間沒有名字,在其他文件中顯然無法引用,它只在本文件的作用域內有效。無名命名空間的成員fun函數的作用域為文件A(確切地說,是從聲明無名命名空間的位置開始到文件A結束)。在文件A中使用無名命名空間的成員,不必(也無法)用命名空間名限定。
如果 在文件A中有以下語句:
fun();
則執行無名命名空間中的成員fun函數,輸出”OK.”。
在本程序中的其他文件中也無法使用該fun函數,也就是把fun函數的作用域限制在本文件范圍中??梢月撓氲剑涸贑浯言中可以用static聲明一個函數,其作用也是使該函數的作用域限于本文件。C++保留了用static聲明函數的用法,同時提供了用無名命名空間來實現這一功能。隨著越來越多的C++ 編譯系統實現了ANSI C++建議的命名空間的機制,相信使用無名命名空間成員的方法將會取代以前習慣用的對全局變量的靜態聲明。
六、標準命名空間std
為了解決C++標準庫中的標識符與程序中的全局標識符之間以及不同庫中的標識符之間的同名沖突,應該將不同庫的標識符在不同的命名空間中定義(或聲明)。標準C++庫的所有的標識符都是在一個名為std的命名空間中定義的,或者說標準頭文件(如iostream)中函數、類、對象和類模板是在命名空間 std中定義的。std是standard(標準)的縮寫,表示這是存放標準庫的有關內容的命名空間,含義請楚,不必死記。
這樣,在程序中用到C++標準庫時,需要使用std作為限定。如
std::cout<<"OK."<<ENDL; p="" 聲明cout是在命名空間std中定義的流對象<="">
在有的C++書中可以看到這樣的用法。但是在每個cout,cm以及其他在std中定義的標識符前面都用命名空間std作為限定,顯然是很不方便的。在大多數的C++程序中常用usmgnamespace語句對命名空間std進行聲明,這樣可以不必對每個命名空間成員一進行處理,在文件的開頭加入以下 using namespace聲明:
using namespace std;
這樣,在std中定義和聲明的所有標識符在本文件中都可以作為全局量來使用。但是應當絕對保證在程序中不出現與命名空間std的成員同名的標識符,例如在程序中不能再定義一個名為cout的對象。由于在命名空間std中定義的實體實在太多,有時程序設計人員也弄不請哪些標識符已在命名空間std中定義過,為減少出錯機會,有的專業人員喜歡用若干個"using命名空間成員”聲明來代替“using namespace命名空間”聲明,如
using Std::string;
using Std::cout;
using Std::cin;
等。為了減少在每一個程序中都要重復書寫以亡的using聲明,程序開發者往往把編寫應用程序時經常會用到的命名空間std成員的usmg聲明組成一個頭文件,然后在程序中包含此頭文件即可。
如果閱讀了多種介紹C++的書,可能會發現有的書的程序中有using namespace語句,有的則沒有。有的讀者會提出:究竟應該有還是應該沒有?應當說:用標準的C++編程,是應該對命名空間std的成員進行聲明或限定的(可以采取前面介紹過的任一種方法)。但是目前所用的C++庫大多是幾年前開發的,當時并沒有命名空間,庫中的有關內容也沒有放在std命名空間中,因而在程序中不必對std進行聲明。
七、使用早期的函數庫
C語言程序中各種功能基本上都是由函數來實現的,在C語言的發展過程中建立了功能豐富的函數庫,C++從C語言繼承了這份寶貴的財富。在C++程序中可以使用C語言的函數庫。
如果要用函數庫中的函數,就必須在程序文件中包含有關的頭文件,在不同的頭文件中,包含了不同的函數的聲明。
在C++中使用這些 頭文件有兩種方法。
1、用C語言的傳統方法
頭文件名包括后綴.h,如stdio.h,math.h等。由于C語言沒有命名空間,頭文件并不存放在命名空間中,因此在C++程序文件中如果用到帶后綴.h的頭文件時,不必用命名空間。只需在文件中包含所用的頭文件即可。如
#include
2、用C++的新方法
C++標準要求系統提供的頭文件不包括后綴.h,例如iostream、string。為了表示與C 語言的頭文件有聯系又有區別,C++所用的頭文件名是在C語言的相應的頭文件名(但不包括后綴.h)之前加一字母c。例如,C語言中有關輸入與輸出的頭文件名為stdio.h在C++中相應的頭文件名為cstdio。C語言中的頭文件math.h,在C++中相應的頭文什名為cmath。C語言中的頭文件 string.h在C++中相應的頭文件名為cstring。注意在C++中,頭文件cstnng和頭文件strmg不是同一個文件。前者提供C語言中對字符串處理的有關函數(如strcmp,ctrcpy)的聲明,后者提供C++中對字符串處理的新功能。
此外,由于這些函數都是在命名空間std中聲明的,因此在程序中要對命名空間std作聲明。如:
#include
#include
using namespace std;
目前所用的大多數C++編譯系統既保留了c的用法,又提供丁C++的新方法。下面兩種用法等價,可以任選。
C傳 統方法 C++新方法
#include #include
#include #include
#include #include
using namespace std;
可以使用傳統的c方法,但應當提倡使用C++的新方法。
標簽:
相關推薦:
精彩放送:
- []回顧歷史事件:首臺通用電子計算機的發明者誕生 谷歌推出第一個涂鴉
- []全球熱頭條丨ABAP自定義截取字符串長度函數 截取字符串長度的函數
- []【快播報】為什么需要命名空間?使用命名空間解決名字沖突
- []pps是什么格式?洪恩MDF格式用什么軟件打開?
- []【獨家】html常用長度度量單位 度量長度的單位是什么?
- []
為什么要使用框架?使用軟件框架的優點總結 - []12月9日科拓生物漲停分析:幽門螺桿菌概念,食品,寵物經濟概念熱股
- []招行信用卡旗下App全新上線 掌上生活9.0體驗究竟如何
- []26.4%!晶科能源182TOPCon電池轉換效率再創新高
- []王亞平女兒眼中的“航天女英雄”竟然是這樣的!
- []WotoKOL臥兔周年,深耕海外網紅營銷五載
- []今日觀點!世茂股份擬召開債券持有人會議,所有存續公司債12月9日開市起停牌
- []多家房企拋出股權融資方案 地產行業困境反轉?
- []消息!又一家大行看多!摩根士丹利:中國股票將跑贏全球
- []金溢科技:關于股東人數情況,詳見公司最近一期定期報告
- []格力地產調整重組方案:募集配套資金超8億元,明日復牌
- []【播資訊】“小步快跑”供地風向標顯現 武漢率先開啟第六批集中供地
- []世界熱點評!45個重點城市城鎮化率:這六個城市超90%
- []世界熱文:星輝娛樂:(1)近兩年,受多種因素影響,公司收入和凈利潤有所下滑
- []全球速訊:被六?。ㄊ校┘{入新冠肺炎診療方案的化痰止咳中藥是怎樣煉成的?
- []博雅生物:公司一直在積極推進漿站拓展工作,申請新設漿站存在不確定性,如公司獲批新設,將及時披露
- []原油交易提醒:美國料陷入技術性衰退,需求減弱拖累油價五連陰
- []當前資訊!融創發布境外債務初步重組框架:擬將30至40億美元借款轉為普通股等
- []世界快看點丨內蒙一機:公司民品業務涉及鐵路車輛及相關零部件,訂單任務充足,重要合同簽訂情況均在臨時公告中有披露
- []世界頭條:二手房買家因賣家換掉家具拒付尾款遭起訴,法院:出賣人構成違約
- []2022財年虧損18.16億,靠港府“續命”的香港海洋公園能走多遠?
- []每日快看:大葉股份:公司綜合考慮質量、性能、交期、價格等多個因素,汽油割草機零部件為全球化采購
- []晉億實業:公司主要從事各類緊固件的研究和開發,生產銷售各類緊固件、鐵道扣件等產品,產品遠銷國內外
- []融創公布境外債重組重大進展 加速回到健康發展軌道
- []新力被債權人放棄了
- []房企融資“三箭齊發”,置業信心能否回暖?
- []【環球速看料】國際油價 7日 顯著下跌
- []獨立儲能電站商業投資價值的識別與分析
- []甘肅多措并舉保障冬季電力供應
- []天天快報!電化學儲能是什么意思?電化學儲能主要包括哪些?
- []焦點!成立1年,業務覆蓋30+國家和地區!這家儲能公司怎么這么猛?
- []今日看點:車險年底買是否優惠些 年底買車保險會不會優惠些
- []【全球熱聞】美股異動 | 中概教育股普漲 新東方(EDU.US)漲超9%
- []【天天新要聞】定向增發+公司債 大名城拋出約50億元再融資方案
- []保險報案有效期是多久 一般保險報案的有效期限是多長時間
- []保險不續費自動退保嗎 保險要是不續費會自行退保嗎
- []參保人就是被保險人嗎 被保險人是不是參保人
- []公積金一定要留余額嗎 公積金必須留余額嗎
- []歲寶百貨深圳宏發大世界購物廣場門店提前終止租賃協議
- []天天滾動:2023年Q1全球計劃運力預計達12億,法國境內短途航班取消將為對手創造機會
- []頭條:川潤股份:12月7日公司高管李輝減持公司股份合計5.37萬股
- []零售云平臺多點數智赴港IPO 騰訊IDG是股東
- []【環球熱聞】新湖中寶擬引入衢州國資 由控股股東出讓不超過10%股權
- []科藍軟件:12月7日公司高管王安京減持公司股份合計14.84萬股
- []全球快訊:龍佰集團:12月7日公司高管張海濤增持公司股份合計1600股
- []世界球精選!歷時八個月 南京正式實施商品房預售資金監管新政
- []當前信息:北京銀行與重點房地產企業簽約,提供意向性融資總額2500億元
- []環球焦點!格力地產重啟收購珠海免稅 構建三大業務板塊
- []美國房地產大起大落后迎來投資機會
- []每日視點!新柴股份:12月7日公司高管周高峰減持公司股份合計2000股
- []北京銀行:為萬科、中海、招商等重點房企提供意向性融資總額2500億元
- []快資訊丨佳力奇:加大自主創新力度 持續鞏固技術堡壘
- []當前播報:群興玩具:截止目前,公司未存在籌劃重大資產重組等事項
- []現貨黃金持穩,市場權衡兩大前景,警惕通脹“掛自動擋”
- []環球今日報丨中指院: A股ESG報告披露率較低
- []人福醫藥:12月7日徐華斌減持公司股份合計13萬股
- []每日快訊!越秀地產前11月合同銷售1029.4億元 完成年度銷售目標83%
- []交建股份:11月28日至12月1日公司高管胡先寬、儲根法、曹振明、陳明洋、施秀瑩減持公司股份合計72.02萬股
- []物業流拍、招租進行中,天橋百貨覓新生
- []當前關注:合生創展前11月總合約銷售額281.13億元 同比下降27.73%
- []全球觀熱點:中指院:二十城物業服務收費穩中略升
- []新化股份:12月6日至12月7日公司高管方軍偉減持公司股份合計8000股
- []寶龍地產前11月合約銷售總額約379.3億元
- []【天天新要聞】萬通發展擬投資5億元設立通信業務全資子公司
- []全球速讀:沃森生物:公司近年來持續從銷售體系建設、消費者教育、終端服務和渠道布局多維度打造產品品牌和市場影響力
- []大名城擬定增不超過30億元 主要投向上海5個項目
- []天天熱文:黃山膠囊:我公司根據相關法律、法規及規范性文件的規定標準進行信息披露
- []黃山膠囊:我公司與熊去氧膽酸膠囊暫無合作
- []【新要聞】中南建設三只債券獲持有人會議通過 豁免美元債交叉違約
- []每日快報!大名城擬發行本金不超過20億元的公司債券
- []全球即時看!落子布局電池租賃!寧德時代或許將用換電服務深度綁定車企
- []越秀地產:前11月合同銷售額約為人民幣1029.4億元
- []環球快看:中華企業擬非公開發行股票不超過總股本30% 用于“保交樓“項目
- []德藝文創:截至2022年11月30日(目前最新數據)的股東人數為12,383
- []全球熱門:中駿集團提前匯出12.87億以兌付購房尾款ABS本息 年內公開債務“零違約”
- []環球報道:杭州規定保租房租金應低于同類房源市場價格 2023年1月5日起施行
- []全球動態:奧馬電器:公司產品為冰箱冷柜,冰箱冷柜為居民生活必備的耐用消費品
- []全球速看:合肥搭建線上服務平臺 開啟“二手房互換”新模式
- []每日資訊:金石亞藥:目前公司產能及備貨充足,能夠滿足市場需求
- []實至名歸,箭牌家居榮獲行業唯一“2022國際CMF設計獎”金獎!
- []快資訊:雖遲但到 | 2022 環球旅訊峰會,12月底上海見
- []天天速遞!圖解貴金屬及外匯:多空成本+最單邊押注(2022/12/08周四)
- []熱資訊!中駿安全度過行業低谷期,年內償還境內外公開債務超70億元
- []世界熱門:豪森股份:公司2022年度向特定對象發行A股股票的定價基準日為發行期首日
- []財面兒丨中駿集團控股1-11月實現累計合同銷售金額約544.42億元
- []天天新動態:西安飲食:該公司并未實際開展業務
- []青島中程:公司印尼工業園現場員工,克服多方困難,全力推進RKEF鎳電項目剩余工程的建設,爭取早日交付
- []天天日報丨財面兒|德信中國前11月累計合約銷售金額336億元
- []全球看熱訊:物業丨卓越商企服務:全資附屬公司收到仲裁通知書
- []【新要聞】比特幣概念股票有哪些?2021年比特幣概念股一覽?
- []快消息!核電股票有哪些?2018核電概念股龍頭有哪些?
- []當前快訊:股市熔斷機制是什么意思?股市熔斷機制有什么意義?
- []今日要聞!物業丨華潤萬象生活:與華潤置地訂立商業運營服務框架協議之補充協議
- []全球熱議:鉬板概念股是哪些?鉬板股票一覽?
- []資訊推薦:合力泰:公司目前未涉及該業務
- B站注冊資本增幅400%至5億 目前由陳睿全資持股
- 光源資本出任獨家財務顧問 沐曦集成電路10億元A輪融資宣告完成
- 巨輪智能2021年上半年營收11.24億元 期內研發費用投入增長19.05%
- 紅棗期貨尾盤拉升大漲近6% 目前紅棗市場總庫存約30萬噸
- 嘉銀金科發布2021年Q2財報 期內凈利潤達1.27億元同比增長208%
- 成都銀行2021上半年凈利33.89億元 期內實現營收同比增長17.27億元
- 汽車之家發布2021年第二季度業績 期內新能源汽車品牌收入增長238%
- 中信銀行上半年實現凈利潤290.31億元 期末不良貸款余額706.82億元
- 光伏概念掀起漲停潮交易價格創新高 全天成交額達1.29億元
- 上半年生物藥大增45% 關鍵財務指標好轉營收賬款持續下降
- 全球熱推薦:甲醇概念上市公司有哪些?甲醇概念股一覽?
- 全球短訊!2020年股市休市放假怎么安排的?A股全年休市一覽?
- 2020新能源電池概念股票有哪些?2020新能源電池概念股票一覽?
- 全球實時:哪些是智能家居概念股?智能家居概念股名單一覽?
- 全球消息!抄底是什么意思?抄底的四大形態是怎樣的?
- 【熱聞】磷化工股票有哪些?相關磷化工概念股票有哪些?
- 【世界新要聞】面板概念龍頭股有哪些?2021年面板概念股有哪些?
- 碳中和是什么概念?碳中和概念股有哪些?
- 每日消息!太陽能電池背板上市公司有哪些?太陽能電池背板概念股一覽
- 全球滾動:虛擬現實板塊股票有哪些?虛擬現實概念股票一覽?
- 全球動態:橡膠股票龍頭股有哪些?橡膠股票有哪些?
- 世界快看:俄油上限剛出臺沖擊就已顯現?俄羅斯原油出口出現急劇減少
- 電纜上市公司有哪些?相關上市公司龍頭有哪些?
- 世界快看:核電板塊龍頭股票有哪些?核電概念股票有哪些?
- 世界微資訊!食用油板塊龍頭股票有哪些?食用油板塊龍頭股票有哪些?
- 環球視訊!2021年騰訊概念股票有哪些?騰訊概念股一覽?
- 森馬服飾股票屬于什么板塊?森馬服飾股票屬于哪些概念股?
- MINE's TALK對話祝羽捷,「一個自己的房間」 傳遞自洽生活哲學
- 世界今頭條!國際油價多頭須盡快離場,該指標暗示需求擔憂仍唱主角
- 中交路橋建設20億元綠色公司債券已提交注冊
- 世界熱推薦:中建信息10億元應收賬款資產支持ABS已獲受理
- 產業物流線上季快訊 | 王少華:險資在物流上的投資機會將增多
- 綠城房地產擬發行90億元中票 項目狀態為“預評中”
- 上海地鐵全線受理云閃付乘車碼“一碼通行”功能
- 焦點快播:粵萬年青:公司產品消炎利膽片功能主治為“清熱,祛濕,利膽
- 精彩看點:味知香:公司新產能預計前期先進行部分投產,后期根據生產運營情況,逐步釋放產能
- 香港發展局:一般項目由“生地”變成可建屋“熟地”的時間減至4年
- 環球百事通!錫裝股份:公司沒有上述高送轉的計劃。感謝您的關心支持!
- 焦點短訊!金價有望繼續走強!世界黃金協會稱全球央行繼續購金,三季度購買量猛增至400噸
- 加碼歐洲儲能市場 優能新能源發布新一代儲能逆變器
- 今熱點:Expedia:國際旅行和商旅有望在2023年恢復元氣
- 世界熱點!美原油交易策略:經濟衰退擔憂籠罩市場,油價跌勢難改
- 頭條焦點:國際金價持穩,市場擔心美聯儲繼續維持強硬鷹派立場
- 當前速看:現貨黃金交易策略:初請數據來襲,關注200日均線阻力
- 攜程發布“2023旅游振興A計劃”,三“重”戰略促萬億消費
- 天天即時看!冬季冰雪游升溫,同程旅行冰雪搜索熱度增長150%
- 全球要聞:國際金價或回踩1772美元
- 環球即時:ThinkBook16p對比聯想小新 Pro16 2021款哪個值得更好?詳細評測
- 焦點熱文:北京樓市,變了
- 場景化營銷精準發力 錢小樂持續優化金融服務質效
- 環球熱頭條丨Excel函數之VLOOKUP()怎么使用?一文搞懂Excel函數之VLOOKUP()使用
- “新十條”發布后,這個省份開始搶游客了
- 全球最新:魏小安:旅游業大局三個月可定,六個月可起
- 環球百事通!FFT是什么意思?FFT的詳解
- 天天微頭條丨disable怎么運用?disable簡單易理解用法
- 環球快報:格式化時間是什么?抽象類DateFormat是什么?
- 焦點!中駿集團:前11月合同銷售額約544.42億元
- 全球即時:order by是什么意思?order by的詳解
- 天天熱消息:java.lang.NullPointerException解決方案是什么?
- 焦點消息!誅仙3新手卡怎么領取?誅仙3新手卡領取中心
- 弘陽地產前11月合約銷售額同比減少56.98% 單月同比跌64.3%
- 天天要聞:主板測試卡代碼a2是什么?主板測試卡代碼 常見代碼總結
- UML建模怎么用?UML建模之用例圖
- 環球百事通!國產搞笑電視劇排行榜你看過幾個?愛情公寓只能排倒數第三
- 【世界快播報】工廠模式是什么?工廠模式的詳解
- 世界通訊!黃淮學院最低錄取分數線是多少?2022文理科最低分及位次
- 最美夕陽紅 攜手度余生——富德生命人壽十堰中支用鏡頭為老人定格相濡以沫的愛情
- 速訊:使用Icon圖標的幾種方式是啥?Icon圖標怎么使用?
- 速看:歌名最長的網絡歌曲是什么?歌名最長的中文歌
- fm2015是什么?fm2010戰術
- 【獨家】.NET Core是什么?NET Core有哪些用處?
- Trans系列是啥?基于翻譯模型(Trans系列)的知識表示學習
- 尼康d800與d810哪個好?尼康d800與d810有哪些區別?
- 快看點丨Internal問題解決流程 Internal server error 500 問題解決思路
- 【環球播資訊】12月8日天元股份漲停分析:可降解塑料,包裝印刷概念熱股
- 每日快播:12月8日焦點科技漲停分析:跨境電商,職業教育,教育概念熱股
- 12月8日千紅制藥漲停分析:肝素,化學原料藥,抗原自測概念熱股
- 微速訊:轉動慣量是什么意思?轉動慣量的含義
- 當前焦點!歉疚的意思是什么?歉疚一詞詳情介紹
- 西米是什么米?西米露和西米是一樣的嗎?
- 興民智通:公司目前不觸及 st 相關條款
- 世界頂級昂貴音響有哪些?世界頂級昂貴音響介紹
- 世界今日報丨如何正確使用系統清理bat程序?清理bat程序的方法技巧
- 天天微動態丨11月百城二手住宅市場均價穩中趨降
- 【世界熱聞】12月8日國光連鎖漲停分析:新零售概念熱股
- 頭條焦點:文章目錄是什么?選擇排序怎么設置?
- 世界微資訊!網絡的利與弊是什么?網絡的利弊分析
- 天天快資訊丨吸血鬼狂刀技能搭配詳情 吸血鬼狂刀攻略)
- 世界動態:磁條讀寫器多少錢?磁條讀寫器使用方法介紹
- Modbus通信協議是什么?Modbus通信協議詳解
- JSONObject是什么意思?JSONObject的詳情介紹
- 世界關注:iPad Air(iPad5)什么時候上市?iPad Air(iPad5)的上市時間
- 安徽大專學校推薦!安徽大專院校排名前十詳細介紹含分數線
- 每日熱聞!BOW是什么意思?為什么要用BOW模型描述圖像?
- 環球快資訊:鉛球世界紀錄2019 女子男子鉛球世界紀錄分別是多少?
- 熱門看點:分析賓得645d怎么樣?賓得公司詳情介紹
- 觀察:梯度(gradient)是什么?梯度的概念是建立在哪方面?
- 焦點播報:程子土包子來的時候歌廳的dj叫什么名字?海燕KTV
- 世界視訊!信號的基本概念是什么?信號的分類有哪些?
- 環球實時:電腦電源額定功率要多少才合適?電腦電源的額定功率
- 全球快消息!4399生死狙擊萬人號賬號2021 4399生死狙擊好號和密碼免費永久2021
- 焦點訊息:OneNote是什么?OneNote的功能有哪些?
- 世界今頭條!多普達手機都有哪些型號?多普達最新手機大全詳情
- 揮著翅膀的女孩英文版叫什么?揮著翅膀的女孩英語版歌詞翻譯
- lol怎么在游戲里回復好友?lol游戲回復技巧
- 今日精選:碧海青天的意思是什么?碧海青天一詞出自哪里?
- 世界信息:圖片或手寫簽名轉電子簽名怎么轉?手寫簽名轉電子簽名教程
- 世界要聞:44歲賈靜雯出席活動耳朵被燙傷 修杰楷很是心疼
- 當前視點!手機QQ接收電腦端好友發送的文件存儲在什么地方?手機文件儲存路徑
- 天天速讀:語義分割:基于openCV和深度學習(二)