社区
C++ 语言
帖子详情
C++中一个文件的static变量可否被其他文件引用
shezhang999
2007-08-21 09:47:50
现在有文件a.h和a.cpp,a.h中定义了class cls,cls中有一静态变量static bool flag;(公有变量)
另有文件b.h和b.cpp, b.h中包含了a.h;
现在我想在b.cpp中使用flag变量,请问可以吗,可以的话应该在b.h/b.cpp中如何声明
希望各位不吝赐教
...全文
5447
36
打赏
收藏
C++中一个文件的static变量可否被其他文件引用
现在有文件a.h和a.cpp,a.h中定义了class cls,cls中有一静态变量static bool flag;(公有变量) 另有文件b.h和b.cpp, b.h中包含了a.h; 现在我想在b.cpp中使用flag变量,请问可以吗,可以的话应该在b.h/b.cpp中如何声明 希望各位不吝赐教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
36 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yixuan178
2010-09-27
打赏
举报
回复
lz, 我这边在2005上可以通过了。
一个是在a.cpp上初始化的时候要加类名前缀 比如 const bool a::flag=false;
然后b.cpp里面就可以使用这个a::flag了。
METEOR_T
2010-04-21
打赏
举报
回复
大家说得都有道理。还是用动手来证明吧。
rocksky520
2007-08-23
打赏
举报
回复
这里的static也是类的一个成员,干嘛要在别的文件里面使用前声明呢?你见过要使用某个对象的public 成员前还要事先声明的么? static 只是保证了所有这个类的对象都共享这个内存,而这块内存是属于类的,而不是具体的某个对象所有,所以别的文件使用前不用声明。在MFC中不也有很多类的成员是static的,只要包含了定义文件,就可以直接拿来用就是了
lgdgyd2
2007-08-23
打赏
举报
回复
1、声明为static的局部实体在声明它的文件之外不可见(中文4版P605)
2、static局部对象确保不迟于在程序执行流程第一次经过该对象的定义语句时进行初始化。这种对象一旦被创建,在程序结束前都不会被撤消(中文4版P220)
gfxiang
2007-08-23
打赏
举报
回复
看书才是正道,C++ Primer翻到最后索引,找static
hflyingheart
2007-08-22
打赏
举报
回复
例如:
//a.h
#ifndef _A_H
#define _A_H
#include <iostream>
using namespace std;
static int pp=5; //(b)
class cls
{
public:
static int flag;
void print() const;
};
#endif //_A_H
//--end of a.h
----
//a.cpp
#include "a.h"
int cls::flag=100;
//static int pp=2; //(a)
//pp=2;//(b-1) error C2501: 'pp' : missing storage-class or type specifiers
//(b-1) error C2374: 'pp' : redefinition; multiple initialization
void cls::print() const
{
pp=2;//(b-2)
cout<<"in print(),cls::flag="<<flag<<endl;
cout<<"in a.cpp, use cls::print() to output pp="<<pp<<endl;//(b)
}
// end of a.cpp
-------
//test.cpp
#include "a.h"
void fun_a()
{
static int x=0;
int y=0;
x++;
y++;
cout<<"x="<<x<<endl;
cout<<"y="<<y<<endl;
}
//extern int pp; //(a) test1.obj : error LNK2001: unresolved external symbol "int pp" (?pp@@3HA)
// Debug/test1.exe :fatal error LNK1120: 1 unresolved externals
void main()
{
cls t;
fun_a();
t.print();
cout<<"cls::flag="<<cls::flag<<endl;
fun_a();
// pp=7; (c)
cout<<"in main(), pp="<<pp<<endl;
}
//end of test.cpp
输出结果为:
x=1
y=1
in print(),cls::flag=100
in a.cpp, use cls::print() to output pp=2
cls::flag=100
x=2
y=1
in main(), pp=5
rocksky520
2007-08-22
打赏
举报
回复
static变量必须定义单独空间内,编译器是不会为之分配内存的。声明在class里的static variable must be defined outside the class(no inlining is allowed).
so my a.h file:
//a.h
class T{
public:
static int flag;
};
//Define storage for the static data member
int T::flag = 0;
and b.cpp file:
//b.cpp
#include <iostream>
#include "a.h"
using namespace std;
void main()
{
int d = T::flag;
cout<<"d="<<d<<endl;
}
也就是说,你无需额外声明,只要把static所在文件包含进来,就可通过类名直接访问(当然必须是public的)
hflyingheart
2007-08-22
打赏
举报
回复
shezhang999()
1,static变量是在局部使用的,不过我在使用时引用了其类的头文件,所以是可以的
2,我上面写的程序报错的都是没有初始化的,static const int那个之所以可以是因为静态变量只有在定义为常量时才可以在定义时初始化
3,其实我说的两个例子都可以正常使用,题目中据说的问题只要在a.cpp中加入bool flag = 1;即可;在a.h中加不可以,因为头文件不编译
4.现在我想在b.cpp中使用flag变量,请问可以吗,可以的话应该在b.h/b.cpp中如何声明
===================================================================================
1.static变量是全局使用的还是局部使用的,要看具体的情况:
1)如果是在一个函数内定义的static变量,那么它的作用域就是这个函数体内,生命期就是整个程序;
2)如果是在一个源文件(如上所述的a.cpp)里定义的static变量,那么它的作用域就是这个文件(a.cpp)内,生命期就是整个程序,在其它文件中即使用extern外部引用,也仍不可使用,编译就会报错;
3)如果是在一个头文件(如上a.h)里定义的static变量,如果在其它文件里包含了这个头文件,那么就可以使用它了,作用域为所有能使用它的文件,生存期也是同程序的生存期,如果不包含所定义它的头文件,而用extern外部引用,那么它在编译时就报错了;
2.不是因为没初始化,静态变量为非常量时一样可以在定义时就初始化;
4.可以使用,只需在b.h或b.cpp中包含a.cpp即可.
OrangePear
2007-08-22
打赏
举报
回复
我在vs2005下试了一下好像有同样的错误,但是在vc6.0下却没有问题,难道有什么样的设置吗?
shanhqk
2007-08-22
打赏
举报
回复
1、那为什么我上面说的声明成const并在声明是初始化时就没报错呢?
答:这个原因并不因为定义为static和const的原因,而是因为定义的类型是int(简单类型)如果是自定义的类型,这样初始化是不允许的。C++编译器允许在定义为static const对简单类型的变量进行初始化。
2、 l 静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可改变其值。
类的静态成员变量必须在声明它的文件范围内进行初始化才能使用,private类型的也不例外。如,(申明,此中语句不是我原创,转载)
答:这两句话有矛盾,既然默认初始化为0,那又为什么必须在声明它的文件范围内进行初始化才能使用呢,其实,对于静态变量必须初始化,要不然肯定不能使用。
3、静态变量或静态函数,即只有本文件内的代码才可访问它,它的名字(变量名或函数名)在其它文件中不可见。
答:这个问题,我不赞同,因为如果该类没有子类,则这句话是正确的,因为确实如此。但如果该类有子类,则这种情况就不成立了,因为你可以在子类中访问该静态变量。前提是该静态变量是public和protected
4、在函数体内生成的静态变量它的值也只能维持
int max_so_far( int curr )//求至今(本次调用)为止最大值
{
static int biggest; //该变量保持着每次调用时的最新值,它的有效期等于整个程序的有效期
if( curr > biggest )
biggest = curr;
return biggest;
}
答:这个我赞同
5、 在C++类的成员变量被声明为static(称为静态成员变量),意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见;而类的静态成员函数也只能访问静态成员(变量或函数)。
答:这个我赞同
browningblue
2007-08-22
打赏
举报
回复
I think you can use it cls::flag. And i test it in gcc, it compile successfully
godspeed251
2007-08-22
打赏
举报
回复
补充上面的问题:
我的编译器是VS2005
godspeed251
2007-08-22
打赏
举报
回复
各位高手,在看到你们以上解释后,我有以下问题仍然迷茫:
1〉
如果在一个基类中定义一个或几个静态成员变量,
在他的子类中能不能用?
如果可以怎么用?
对于我的以上问题,我的测试是,在有的子类里可以,
但作为同一工程内的其他子类却说为定义,
这是我最近的上机考试题。。。
2〉
另一个是上一个问题的延伸:
在main.cpp中包含了所有积累和子类的.h
但编译时却说我的那些类对象未定义
而在代码定义窗口中却可以显示类的定义位置。。。
请各位能不吝赐教!
C++新手
gfxiang
2007-08-22
打赏
举报
回复
ls是对的
zsyddl2
2007-08-22
打赏
举报
回复
请看static 的正解:
static
l 静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可改变其值。
l 静态变量或静态函数,即只有本文件内的代码才可访问它,它的名字(变量名或函数名)在其它文件中不可见。
l 在函数体内生成的静态变量它的值也只能维持
int max_so_far( int curr )//求至今(本次调用)为止最大值
{
static int biggest; //该变量保持着每次调用时的最新值,它的有效期等于整个程序的有效期
if( curr > biggest )
biggest = curr;
return biggest;
}
l 在C++类的成员变量被声明为static(称为静态成员变量),意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见;而类的静态成员函数也只能访问静态成员(变量或函数)。
l 类的静态成员变量必须在声明它的文件范围内进行初始化才能使用,private类型的也不例外。如,
(申明,此中语句不是我原创,转载)
KenYuan2016
2007-08-22
打赏
举报
回复
1,static变量是在局部使用的,不过我在使用时引用了其类的头文件,所以是可以的
你真的懂了static的作用域的含义了吗?
2,我上面写的程序报错的都是没有初始化的,static const int那个之所以可以是因为静态变量只有在定义为常量时才可以在定义时初始化
你真的懂了static const int了吗?
3,其实我说的两个例子都可以正常使用,题目中据说的问题只要在a.cpp中加入bool flag = 1;即可;在a.h中加不可以,因为头文件不编译
你真的懂了为什么flag可以被访问吗?
我为你感到迷芒
shezhang999
2007-08-22
打赏
举报
回复
回楼上的几位,这个问题我弄明白了,我来说一下吧。
1,static变量是在局部使用的,不过我在使用时引用了其类的头文件,所以是可以的
2,我上面写的程序报错的都是没有初始化的,static const int那个之所以可以是因为静态变量只有在定义为常量时才可以在定义时初始化
3,其实我说的两个例子都可以正常使用,题目中据说的问题只要在a.cpp中加入bool flag = 1;即可;在a.h中加不可以,因为头文件不编译
琅琊榜
2007-08-22
打赏
举报
回复
static 是文件作用域,使用这个声明的变量只能在本文件内可见
dai_weitao
2007-08-22
打赏
举报
回复
static变量只存在于一个目标文件, 也就是.o或.obj文件中.
你这种在.h文件中声明, 其他.cpp文件包含的做法, 实际上是在多个目标文件中声明多个同名的static变量, 这实际上是多个变量, 所以不能实现你想要的做法.
如果想要多处引用, 需要去掉static, 声明为全局变量.
KenYuan2016
2007-08-21
打赏
举报
回复
不能直接使用,你在b中要通过a的对象去访问
在B中用 cls _cls;
用 _cls.flg 访问
加载更多回复(16)
C++
FAQ
C++
FAQ 锦集
你必须知道的495个C语言问题
让你不再害怕C语言,更加清醒的明白自己的问题,对自己的突破不是问题
java面试宝典
java面试试题 全面 准确 带答案 coreJava部分 8 1、面向对象的特征有哪些方面? 8 2、作用域public,private,protected,以及不写时的区别? 8 3、String 是最基本的数据类型吗? 8 4、float 型float f=3.4是否正确? 8 5、语句float f=1.3;编译能否通过? 8 6、short s1 = 1; s1 = s1 + 1;有什么错? 8 7、Java 有没有goto? 8 8、int 和Integer 有什么区别? 9 9、&和&&的区别? 9 10、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别? 9 11、heap 和stack 有什么区别? 9 12、Math.round(11.5) 等于多少? Math.round(-11.5)等于多少? 9 13、swtich 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上? 9 14、编程题: 用最有效率的方法算出2 乘以8 等於几? 9 15、有没有length()这个方法? String 有没有length()这个方法? 9 16、在JAVA
中
,如何跳出当前的多重嵌套循环? 9 17、构造器Constructor 是否可被override? 9 18、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 9 19、是否可以继承String 类? 9 20、以下二条语句返回值为true 的有: 10 21、当
一个
对象被当作参数传递到
一个
方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是
引用
传递? 10 22、我们在web 应用开发过程
中
经常遇到输出某种编码的字符,如iso8859-1等,如何输出
一个
某种编码的字符串? 10 23、String 和StringBuffer 的区别? 10 24、String, StringBuffer StringBuilder 的区别。 10 25、Overload 和Override 的区别。Overloaded 的方法是否可以改变返回值的类型? 10 27、描述一下JVM 加载class
文件
的原理机制? 10 28、char 型
变量
中
能不能存贮
一个
中
文汉字?为什么? 10 29、abstract class 和interface 有什么区别? 10 30、
Static
Nested Class 和Inner Class 的不同? 11 31、java
中
会存在内存泄漏吗,请简单描述。 11 32、abstract 的method 是否可同时是
static
,是否可同时是native,是否可同时是synchronized? 11 33、静态
变量
和实例
变量
的区别? 11 34、是否可以从
一个
static
方法内部发出对非
static
方法的调用? 11 35、写clone()方法时,通常都有一行代码,是什么? 11 36、GC 是什么? 为什么要有GC? 11 37、垃圾回收的优点和原理。并考虑2 种回收机制。 11 38、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 12 39、String s=new String(“xyz”);创建了几个String Object? 12 40、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 12 41、Java 的接口和
C++
的虚类的相同和不同处。 12 42、
一个
“.java”源
文件
中
是否可以包含多个类(不是内部类)?有什么限制? 12 43、说出一些常用的类,包,接口,请各举5 个。 12 44、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类?是否可以implements(实现)interface(接口)? 12 45、内部类可以
引用
他包含类的成员吗?有没有什么限制? 12 46、java
中
实现多态的机制是什么? 12 47、在java
中
一个
类被声明为final 类型,表示了什么意思? 12 48、下面哪些类可以被继承? 12 49、指出下面程序的运行结果: 【基础】 13 52、关于内部类: 13 53、数据类型之间的转换: 14 54、字符串操作:如何实现字符串的反转及替换? 14 55、编码转换:怎样将GB2312 编码的字符串转换为ISO-8859-1 编码的字符串? 14 56、写
一个
函数,要求输入
一个
字符串和
一个
字符长度,对该字符串进行分隔。 14 59、Java 编程,打印昨天的当前时刻。 15 60、java 和javasciprt 的区别。 15 61、什么时候用assert? 16 62、error和exception有什么区别 16 63、ArrayList和Vector的区别 16 64、Collection 和 Collections的区别 17 65、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别 17 66、HashMap和Hashtable的区别 17 67、说出ArrayList,Vector, LinkedList的存储性能和特性 17 68、java
中
有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 17 69、
文件
读写的基本类 17 70、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 17 71、启动
一个
线程是用run()还是start()? 17 72、当
一个
线程进入
一个
对象的
一个
synchronized方法后,其它线程是否可进入此对象的其它方法? 18 73、线程的基本概念、线程的基本状态以及状态之间的关系 18 74、sleep() 和 wait() 有什么区别? 18 75、socket通信(tcp/udp区别及JAVA的实现方式) 18 76、什么是java序列化,如何实现java序列化? 18 77、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 18 78、abstract class Name { private String name; public abstract boolean isStupidName(String name) {}}这有何错误? 18 79、public class Something { void doSomething () { private String s = ""; int l = s.length(); } }有错吗? 18 80、abstract class Something { private abstract String doSomething ();}这好像没什么错吧? 18 81、public class Something { public int addOne(final int x) { return ++x; }}这个比较明显。 19 83、class Something { int i; public void doSomething() { System.out.println("i = " + i); }} 有什么错呢? 19 Hibernate部分 19 92、一般情况下,关系数据模型与对象模型之间有哪些匹配关系(A,B,C) 21 93、以下关于SessionFactory的说法哪些正确?(B,C) 21 94、元素有
一个
cascade属性,如果希望Hibernate级联保存集合
中
的对象,casecade属性应该取什么值?(单选)(D) 22 95、以下哪些属于Session的方法?(A,B,C,D,F) 22 96、Hibernate工作原理及为什么要用? 22 97、Hibernate是如何延迟加载? 22 98、Hibernate
中
怎样实现类之间的关系?(如:一对多、多对多的关系) 22 99、说下Hibernate的缓存机制 22 100、Hibernate的查询方式 23 101、如何优化Hibernate? 23 102、Struts工作机制?为什么要使用Struts? 23 103、Struts的validate框架是如何验证的? 24 104、说下Struts的设计模式 24 105、spring工作机制及为什么要用? 24 106、HttpSession session = request.getSession() 24 107、getParameter与 getAttribute的区别? 24 108、以下哪
一个
不是赋值符号? 25 109、以下哪个不是Collection的子接口? 25 110、.BufferedReader的父类是以下哪个? 25 112、div与span区别? 25 113、html的框架是什么? 25 114、alert怎样换行? 25 115、什么情况用HTML控件,什么情况用WEB控件,并比较两者差别 25 javaScript部分 25 116、JavaScript
中
的对象. 25 117、function的用法 26 118、对象的继承 27 119、this的用法 29 120、Array in JavaScript 29 121、jsp有哪些内置对象?作用分别是什么? 31 122、jsp有哪些动作?作用分别是什么? 31 123、JSP
中
动态INCLUDE与静态INCLUDE的区别? 31 124、两种跳转方式分别是什么?有什么区别? 31 125、如何执行
一个
线程安全的JSP? 31 126、JSP如何处理HTML FORM
中
的数据? 31 127、在JSP如何包含
一个
静态
文件
? 32 128、在JSP
中
如何使用注释? 32 129、在JSP
中
如何执行浏览重定向? 32 130、如何防止在JSP或SERVLET
中
的输出不被BROWSER保存在CACHE
中
? 32 131、在JSP
中
如何设置COOKIE? 32 132、在JSP
中
如何删除
一个
COOKIE? 32 133、在
一个
JSP的请求处理
中
如何停止JSP的执行 33 134、在JSP
中
如何定义方法 33 135、在JSP
中
能发送EMAIL吗 34 136、在SERVLET
中
我能调用
一个
JSP错误页吗 34 137、APPLET和JSP如何通讯 35 138、JSP如何与EJB SessionBean通讯 35 139、当我使用
一个
结果集时,如何防止字段为"null"的字域显示在我的HTML输入文本域
中
? 35 140、如何
中
SERVLET或JSP下载
一个
文件
(如:binary,text,executable)? 36 141、使用useBean标志初始化BEAN时如何接受初始化参数 36 142、使用JSP如何获得客户浏览器的信息? 36 143、能象调用子程序一样调用JSP吗? 36 144、当我重编译我的JSP使用的
一个
类后,为什么JVM继续使用我的老CLASS? 36 145、<%@include file="abc.jsp"%>与
之间的差别? 36 146、JSP的缺点? 36 148、如何实现JSP的国际化? 36 150、如何在JSP
中
包括绝对路径
文件
? 使用URLConnection即可。 37 151、在servlets和JSP之间能共享session对象吗? 37 152、如何设置cookie在某一时间后过期? 37 153、如何获得当前的sessions数? 37 154、能设置一些代码在我所有的JSP
文件
之上运行?如果可以,能共享吗? 37 155、对
一个
JSP页,如果多个客户端同时请求它,同步可能吗? 37 156、在jsp:useBean语法
中
使用beanName有何好处? 37 157、当我使用
时,在浏览器的地址栏没有改变? 37 158、如何转换JSP 0.9版本的
文件
到JSP1.1? 37 160、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 38 161、AJAX的全称是什么? 介绍一下AJAX 38 162、Ajax主要包含了哪些技术? 38 163、主要的Ajax框架都有什么? 38 164、介绍一下XMLHttpRequest对象 38 165、AJAX应用和传统Web应用有什么不同? 38 166、如何用JQuery进行表单验证? 39 167、Prototype如何实现页面局部定时刷新? 40 168、Prototype如何为
一个
Ajax添加
一个
参数? 40 169、Ajax请求总共有多少种Callback? 41 170、Javascript如何发送
一个
Ajax请求? 41 171、AJAX都有哪些有点和缺点? 41 172、Ajax和javascript的区别? 41 Servlet部分 42 174、JAVA SERVLET API
中
forward() 与redirect()的区别? 42 178、如何现实servlet的单线程模式 42 179、页面间对象传递的方法 42 180、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 42 181、四种会话跟踪技术 42 182、Request对象的主要方法 43 183、我们在web应用开发过程
中
经常遇到输出某种编码的字符,如iso8859-1等,如何输出
一个
某种编码的字符串? 43 184、Servlet执行时一般实现哪几个方法? 44 185、getServletContext()和getServletConfig()的意思 44 186、Hashtable和HashMap 44 187、JAVA SERVLET API
中
forward() 与redirect()的区别? 44 189、Can a Java Thread be started from Servlet class, and what will be the implications? 45 190、What is HTTP Session tracking and why is it important? 45 191、What is session management, and how is it different from session tracking? 45 192、Can I use Hidden form field to track session? 45 194、In a architecture pattern like MVC, it is mandatory that Servlet should be the controller, why not JSP? 46 195、Why JSP is used as View part of MVC ? 46 196、Can a database connection pool be instantiated in init method of servlet instead of server connection pool? What will be the problem? 46 综合部分 46 197、Class.forName的作用?为什么要用? 47 198、Jdo是什么? 47 199、在ORACLE大数据量下的分页解决方法。一般用截取ID方法,还有是三层嵌套方法。 47 200、xml有哪些解析技术?区别是什么? 48 201、你在项目
中
用到了xml技术的哪些方面?如何实现的? 48 202、用jdom解析xml
文件
时如何解决
中
文问题?如何解析? 48 203、编程用JAVA解析XML的方式. 49 204、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别? 51 205、EJB与JAVA BEAN的区别? 51 206、EJB的基本架构 51 207、MVC的各个部分都有那些技术来实现?如何实现? 52 208、J2EE是什么? 52 209、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。 52 210、STRUTS的应用(如STRUTS架构) 52 211、开发
中
都用到了那些设计模式?用在什么场合? 52 212、UML方面 52 213、如何校验数字型? 53 214、CORBA是什么?用途是什么? 53 215、写
一个
方法,实现字符串的反转,如:输入abc,输出cba 53 216、数据类型之间的转换 53 217、如何取得年月日,小时分秒 53 218、如何取得从1970年到现在的毫秒数 53 219、如何格式化日期 53 220、
文件
和目录(I/O)操作 54 230、J2EE的优越性 54 231、Java语言的11个关键特性. 54 232、说出Servlet的生命周期,并说出Servlet和CGI的区别。 55 233、说出在JSP页面里是怎么分页的? 55 234、存储过程和函数的区别 55 235、事务是什么? 55 236、游标的作用?如何知道游标已经到了最后? 55 237、触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。 56 238、EJB容器提供的服务 56 239、EJB的角色和三个对象 56 240、EJB的几种类型 56 241、bean 实例的生命周期 56 242、激活机制 56 243、remote接口和home接口主要作用 56 244、客服端调用EJB对象的几个基本步骤 56 245、 如何给weblogic指定大小的内存? 56 246、如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 57 247、如何启动时不需输入用户名与密码? 57 248、在weblogic管理制台
中
对
一个
应用域(或者说是
一个
网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么
文件
中
? 57 250、如何查看在weblogic
中
已经发布的EJB? 57 251、如何在weblogic
中
进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置 57 252、在weblogic
中
发布ejb需涉及到哪些配置
文件
57 253、EJB需直接实现它的业务接口或Home接口吗,请简述理由. 57 254、说说在weblogic
中
开发消息Bean时的persistent与non-persisten的差别 57 255、说说你所熟悉或听说过的j2ee
中
的几种常用模式?及对设计模式的一些看法 57 256、现在输入n个数字,以逗号,分开; 58 257、金额转换,阿拉伯数字的金额转换成
中
国传统的形式如:(¥1011)->(一千零一拾一元整)输出。 58 259、Spring和Struts的区别? 58 260、如何用Struts实现国际化? 58 261、如何实现struts的validator框架? 59 262、如何在struts
中
配置数据源在,什么
文件
?用什么标签?如何取出DataSource? 60 263、Struts框架如何取得消息资源
文件
中
的信息? 60 264、Struts
中
如何基于validation.xml来启用客户端验证? 60 266、请你谈谈SSH整合 60 267、ActionForm bean的作用 61 268、Spring如何创建
一个
数据连接池 61 269、Spring如何配置
一个
bean来从JNDI得到DataSource 61 270、Bean的销毁 61 271、Spring如何获取Bean 61 272、Spring和Struts的区别? 62 273、什么是aop,aop的作用是什么? 62 275、依赖注入的方式有几种,各是什么? 62 276、spring
中
的核心类有那些,各有什么作用? 62 277、ApplicationContext的作用 63 278、如何实现资源管理 63 279、如何实现加入web框架
中
63 280、如何实现事件处理 63 281、spring的ioc及di代表什么意思? 63 283、spring的配置的主要标签是什么?有什么作用? 64 284、spring与ejb2.0的事务管理比较的优缺点? 64 286、在spring
中
有几种事务管理,分别是什么? 64 287、在spring
中
如何配代码的事务管理? 65 288、在spring
中
如何配容器的事务管理,相关的类有那些? 65 289、如果spring与hibernate结合在一起可以不需要hibernate.cfg.xml
文件
是否正确? 65 290、spring+hibernate的配置
文件
中
的主要类有那些?如何配置? 65 291、spring+hibernate的代码实现
中
,对于实现类一定继承于
一个
类是那
一个
,它有什么作用 66 292、如何配置spring+struts? 66 293、如何在web环境
中
配置applicationContext.xml
文件
? 66 294、BS与CS的联系与区别 66 295、Servlet的生命周期 68 296、如何现实Servlet的单线程模式 68 297、Servlet执行时一般实现哪几个方法? 68 298、j2ee常用的设计模式?说明工厂模式。 68 299、应用服务器与WEB SERVER的区别? 68 300、应用服务器有那些? 68 301、说出数据连接池的工作机制是什么? 68 302、页面间对象传递的方法 69 303、四种会话跟踪技术 69 304、J2EE 是技术还是平台还是框架? 69 305、同步和异步有何异同,在什么情况下分别使用他们?举例说明。 69 306、启动
一个
线程是用run()还是start()? 69 307、线程的基本概念、线程的基本状态以及状态之间的关系 69 308、java
中
有几种方法可以实现
一个
线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 70 309、JSP
中
动态INCLUDE与静态INCLUDE的区别? 70 310、JSP的常用指令 70 311、什么情况下调用doGet()和doPost()? 70 312、JSP和Servlet 有哪些相同点和不同点,他们之间的联系是什么? 70 313、Request对象的主要方法: 70 314、JSP有哪些动作?作用分别是什么? 71 315、JSP的两种跳转方式分别是什么?有什么区别? 71 316、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。 71 317、EJB与JAVA BEAN的区别? 72 318、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的? 72 319、EJB规范规定EJB
中
禁止的****作有哪些? 72 320、remote接口和home接口主要作用 72 321、bean 实例的生命周期 72 322、EJB的激活机制 73 323、EJB的几种类型 73 324、客服端调用EJB对象的几个基本步骤 73 325、EJB需直接实现它的业务接口或Home接口吗,请简述理由。 73 327、说说在weblogic
中
开发消息Bean时的persistent与non-persisten的差别 73 328、你在项目
中
用到了xml技术的哪些方面?如何实现的? 73 329、JAVA SERVLET API
中
forward() 与redirect()的区别? 73 330、面向对象的特征? 73 331、Java
中
的异常处理机制? 74 333、Java
中
的事件处理机制? 74 334、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 75 335、GC是什么?为什么要有GC (基础) ? 75 336、请说出你所知道的线程同步的方法。 75 337、什么是Java序列化,如何实现Java 序列化? 75 338、介绍Java
中
的Collection Framework(包括如何写自己的数据结构)? 75 339、String是最基本的数据类型吗? 76 340、谈谈final, finally, finalize 的区别? 76 341、
Static
Nested Class 和Inner Class的不同? 76 342、HashMap和Hashtable的区别? 76 343、ArrayList和Vector的区别? 76 344、Collection 和Collections的区别? 77 345、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 77 346、String与StringBuffer的区别? 77 347、静态
变量
和实例
变量
的区别? 77 348、List、Map、Set三个接口,存取元素时,各有什么特点? 77 349、说出ArrayList,Vector, LinkedList的存储性能和特性。 77 350、在Java
中
一个
类被声明为final类型,表示了什么意思? 77 351、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 77 352、String s = new String("xyz");创建了几个String Object? 77 353、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 77 354、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 78 355、数组有没有length()这个方法? String 有没有length()这个方法? 78 356、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 78 357、List, Set, Map是否继承自Collection接口? 78 358、abstract的method是否可同时是
static
,是否可同时是native,是否可同时是synchronized? 78 360、构造器Constructor是否可被override? 78 361、当
一个
线程进入
一个
对象的
一个
synchronized方法后,其它线程是否可进入此对象的其它方法? 78 362、try {}里有
一个
return 语句,那么紧跟在这个try后的finally {}里的code 会不会被执行,什么时候被执行,在return前还是后? 78 363、描述一下JVM加载class
文件
的原理机制? 78 364、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 78 365、Java
中
会存在内存泄漏吗,请简单描述。 78 366、是否可以从
一个
static
方法内部发出对非
static
方法的调用? 79 367、写clone()方法时,通常都有一行代码,是什么? 79 368、在Java
中
,如何跳出当前的多重嵌套循环? 79 370、给我
一个
你最常见到的runtime exception。 79 371、写
一个
Singleton出来 79 372、Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示? 80 373、用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? 如在 COLLECTION框架
中
,实现比较要实现什么样的接口? 81 374、编写
一个
截取字符串的函数,输入为
一个
字符串和字节数,输出为按字节截取的字符串。 82 380、ArrayList和Vector的区别, HashMap和Hashtable的区别 83 381、== 与 equals 的区别: 83 382、写
一个
SQL Server
中
的存储过程: 83 383、写
一个
Oracle
中
的存储过程: 84 384、HTTP 的请求过程: 84 385、多线程的优点 84 387、java是否存在内存泄露 85 388、Corba概述 85 389、toString方法的概述 85 390、Object类的概述 85 391、什么叫抽象类?抽象类跟接口有什么区别?为什么引进数据接口概念? 85 392、doGet与doPut的区别? 85 393、多线程实现有那几种方法,同步有哪几种方法? 85 394、JSP页面的跳转? 86 395、类
变量
的初始化 86 396、数组的定义 86 397、说明List和Set的区别 86
C语言FAQ 常见问题列表
previous up contents next C 语言常见问题集 原著:Steve Summit 翻译:朱群英, 孙 云 修订版 0.9.4, 2005年6月23日 版权所有 © 2005 * 目录 * 1. 前言 * 2. 声明和初始化 o 2.1 我如何决定使用那种整数类型? o 2.2 64 位机上的 64 位类型是什么样的? o 2.3 怎样定义和声明全局
变量
和函数最好? o 2.4 extern 在函数声明
中
是什么意思? o 2.5 关键字 auto 到底有什么用途? o 2.6 我似乎不能成功定义
一个
链表。我试过 typedef struct { char *item; NODEPTR next; } *NODEPTR; 但是编译器报了错误信息。难道在C语言
中
一个
结构不能包含指向自己的指针吗? o 2.7 怎样建立和理解非常复杂的声明?例如定义
一个
包含 N 个指向返回指向字符的指针的函数的指针的数组? o 2.8 函数只定义了一次, 调用了一次, 但编译器提示非法重定义了。 o 2.9 main() 的正确定义是什么? void main() 正确吗? o 2.10 对于没有初始化的
变量
的初始值可以作怎样的假定?如果
一个
全局
变量
初始值为 ``零", 它
可否
作为空指针或浮点零? o 2.11 代码 int f() { char a[] = "Hello, world!";} 不能编译。 o 2.12 这样的初始化有什么问题?char *p = malloc(10); 编译器提示 ``非法初始式" 云云。 o 2.13 以下的初始化有什么区别?char a[] = "string literal"; char *p = "string literal"; 当我向 p[i] 赋值的时候, 我的程序崩溃了。 o 2.14 我总算弄清除函数指针的声明方法了, 但怎样才能初始化呢? * 3. 结构、联合和枚举 o 3.1 声明 struct x1 { ...}; 和 typedef struct { ...} x2; 有什么不同? o 3.2 为什么 struct x { ...}; x thestruct; 不对? o 3.3
一个
结构可以包含指向自己的指针吗? o 3.4 在 C 语言
中
实现抽象数据类型什么方法最好? o 3.5 在 C
中
是否有模拟继承等面向对象程序设计特性的好方法? o 3.6 我遇到这样声明结构的代码: struct name { int namelen; char namestr[1];}; 然后又使用一些内存分配技巧使 namestr 数组用起来好像有多个元素。这样合法和可移植吗? o 3.7 是否有自动比较结构的方法? o 3.8 如何向接受结构参数的函数传入常数值? o 3.9 怎样从/向数据
文件
读/写结构? o 3.10 我的编译器在结构
中
留下了空洞, 这导致空间浪费而且无法与外部数据
文件
进行 "二进制" 读写。能否关掉填充, 或者控制结构域的对齐方式? o 3.11 为什么 sizeof 返回的值大于结构的期望值, 是不是尾部有填充? o 3.12 如何确定域在结构
中
的字节偏移? o 3.13 怎样在运行时用名字访问结构
中
的域? o 3.14 程序运行正确, 但退出时却 ``core dump''了,怎么回事? o 3.15 可以初始化
一个
联合吗? o 3.16 枚举和一组预处理的 #define 有什么不同? o 3.17 有什么容易的显示枚举值符号的方法? * 4. 表达式 o 4.1 为什么这样的代码: a[i] = i++; 不能工作? o 4.2 使用我的编译器,下面的代码 int i=7; printf("%d\n", i++ * i++); 返回 49?不管按什么顺序计算, 难道不该打印出56吗? o 4.3 对于代码 in
C++ 语言
65,210
社区成员
250,518
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章