在C++中初始化私有静态数据成员的最佳方法是什么?我在头文件中尝试了这个,但它给了我奇怪的链接器错误:
class foo
{
private:
static int i;
};
int foo::i = 0;
Run Code Online (Sandbox Code Playgroud)
我猜这是因为我无法从课外初始化私人成员.那么最好的方法是什么?
我有这个代码:
private static $dates = array(
'start' => mktime( 0, 0, 0, 7, 30, 2009), // Start date
'end' => mktime( 0, 0, 0, 8, 2, 2009), // End date
'close' => mktime(23, 59, 59, 7, 20, 2009), // Date when registration closes
'early' => mktime( 0, 0, 0, 3, 19, 2009), // Date when early bird discount ends
);
Run Code Online (Sandbox Code Playgroud)
这给了我以下错误:
解析错误:第19行/home/user/Sites/site/registration/inc/registration.class.inc中的语法错误,意外'(',期待')'
所以,我想我做错了什么......但是如果不是那样的话怎么办呢?如果我用常规字符串更改mktime内容,它就可以工作.所以,我知道我能做到这一点的那种像..
有人有指点吗?
我想static const
char
在班上有一个数组.海湾合作委员会抱怨并告诉我应该使用constexpr
,虽然现在它告诉我这是一个未定义的参考.如果我使数组成为非成员,那么它将编译.到底是怎么回事?
// .hpp
struct foo {
void bar();
static constexpr char baz[] = "quz";
};
// .cpp
void foo::bar() {
std::string str(baz); // undefined reference to baz
}
Run Code Online (Sandbox Code Playgroud) 在PHP5中,使用const
和有static
什么区别?什么时候适合?和什么样的作用呢public
,protected
和private
游戏-如果有的话.
尝试使用当前签名在g ++中编译我的代码时出错:
cannot declare member function static void Foo::Bar(std::ostream&, const Foo::Node*) to have static linkage
Run Code Online (Sandbox Code Playgroud)
我的问题是双重的:
在使用C++时,签名一直是我的死
编辑:这是类头文件,以及:
class Foo {
public:
Foo();
~Foo();
bool insert(const Foo2 &v);
Foo * find(const Foo2 &v);
const Foo * find(const Foo2 &v) const;
void output(ostream &s) const;
private:
//Foo(const Foo &v);
//Foo& operator =(const Foo &v);
//Not implemented; unneeded
struct Node {
Foo2 info;
Node *left;
Node *right;
};
Node * root;
static bool insert(const Foo2 &v, Node *&p);
static void …
Run Code Online (Sandbox Code Playgroud) 我有以下PHP.但是,当我看到index.php时,我收到以下错误消息.
严格的标准:第12行的/var/www/webworks/index.php中不应静态调用非静态方法Page :: getInstanceByName()
我希望有人能告诉我如何解决这个问题.
提前致谢.
的index.php
// { common variables and functions
include_once('ww.incs/common.php');
$page=isset($_REQUEST['page'])?$_REQUEST['page']:'';
$id=isset($_REQUEST['id'])?(int)$_REQUEST['id']:0;
...
// { get current page id
if(!$id){
if($page){ // load by name
$r=Page::getInstanceByName($page);
if($r && isset($r->id))$id=$r->id;
}
if(!$id){ // else load by special
$special=1;
if(!$page){
$r=Page::getInstanceBySpecial($special);
if($r && isset($r->id))$id=$r->id;
}
}
}
// { load page data
if($id){
$PAGEDATA=(isset($r) && $r)?$r : Page::getInstance($id);
}
else{
echo '404 thing goes here';
exit;
}
...
...
Run Code Online (Sandbox Code Playgroud)
ww.incs /的common.php
<?php
require dirname(__FILE__).'/basics.php';
...
...
Run Code Online (Sandbox Code Playgroud)
ww.incs/basics.php
session_start(); …
Run Code Online (Sandbox Code Playgroud) 我正在创建事件搜索应用程序,我们在另一个屏幕中填充一个屏幕设置搜索条件,然后用户可以从第3个屏幕编辑搜索条件并转到第4个屏幕.
为了实现上述任务,我使用静态对象来记住应用程序周围的值,我不需要做任何额外的事情.
但我担心如果关于静态对象生命周期在android如果低内存发现android删除静态对象???
由于android支持多任务处理,如果用户切换到另一个应用程序并且当用户回来应用程序开始疯狂时,静态对象在多任务时被删除??? 任何的想法 ??并建议通过单例方法保持静态对象是更好的方法???
我正在开发一个使用Web服务从服务器获取数据的Android应用程序,因为我有三套不同的URL来指向开发系统,测试服务器和实时服务器.每当我想提供测试/实时应用程序时,很难更改URL.所以我计划将其设置为可配置,以便应用程序可以根据我的构建类型配置常量获取适当的URL.所以,
例如:xml资源
<integer name="config_build_type">0</integer>
<string-array name="url_authentication">
<item >http://development.com/xxxx</item>
<item >http://test.com/xxx</item>
<item >http://example.com/xxx</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)
Java静态常量
public class Config {
public static final int BUILD_TYPE = 0; // 0 - development, 1 - test, 2 - live
public static final String[] URL_AUTHENTICATION = {"http://development.com/", "http://test.com/", "http://example.com"};
}
Run Code Online (Sandbox Code Playgroud) 给定一个仅在程序设置中使用的假设实用程序类:
class MyUtils {
private static MyObject myObject = new MyObject();
/*package*/static boolean doStuff(Params... params) {
// do stuff with myObject and params...
}
}
Run Code Online (Sandbox Code Playgroud)
当myObject不再被使用时,它会被垃圾收集,还是会在程序的生命周期中保留?
class OuterClass {
class InnerClass {
static int i = 100; // compile error
static void f() { } // compile error
}
}
Run Code Online (Sandbox Code Playgroud)
虽然无法访问静态字段OuterClass.InnerClass.i
,但如果我想记录一些应该是静态的东西,例如创建的InnerClass对象的数量,那么将该字段设置为静态会很有帮助.那么为什么 Java禁止内部类中的静态字段/方法呢?
编辑:我知道如何使编译器满意静态嵌套类(或静态内部类),但我想知道的是为什么java禁止语言设计和内部类(或普通内部类)内的静态字段/方法实施方面,如果有人了解更多.