我有一个带有复制构造函数的简单容器类.
您是否建议使用getter和setter,或直接访问成员变量?
public Container
{
public:
Container() {}
Container(const Container& cont) //option 1
{
SetMyString(cont.GetMyString());
}
//OR
Container(const Container& cont) //option 2
{
m_str1 = cont.m_str1;
}
public string GetMyString() { return m_str1;}
public void SetMyString(string str) { m_str1 = str;}
private:
string m_str1;
}
Run Code Online (Sandbox Code Playgroud)
更新(09年9月29日):
其中一些答案写得很好但是他们似乎忽略了这个问题的重点:
这是一个简单的人为例子,讨论使用getter/setter和变量
初始化列表或私有验证器函数实际上不是这个问题的一部分.我想知道这两种设计是否会使代码更容易维护和扩展.
一些ppl在这个例子中专注于字符串,但它只是一个例子,想象它是一个不同的对象.
我不关心表现.我们不是在PDP-11上编程
我正在努力完成任务
发出Web请求 - >以JSON格式获取结果 - >解析结果 - >最后在表格中显示结果....
欢迎任何有关任何任务的帮助....
基本上,我想从数据库中获取一组id.
一些背景:
我假设在使用复选框呈现foo列表时,获取一组id会比为每个foo实例查询数据库更有效.
想法?如果不清楚,请提前道歉.
我有一个正则表达式,其中变量$m_strFirstName旁边是不属于变量名称的其他标识符字符:
if($strWholeName =~ m/$m_strFirstName_(+)/)
....
Run Code Online (Sandbox Code Playgroud)
我试图提取类似的东西:
明显,
m/$m_strFirstName_(+)/
Run Code Online (Sandbox Code Playgroud)
不会起作用,因为正则表达式解释器不会按照我的意图处理$ m_strname部分,所以任何想法?
编辑:我原来的问题不明确,更新.
谢谢
有没有人知道一个Ruby gem或插件,它提供了一个简单的Twitter Steams API接口?
我正在编写一个在 windows 和 android 设备之间共享信息的代码。我还需要共享设备的名称。我使用了 String model = Build.MODEL; 用于在 android 代码中获取 android 设备的名称。但是我不确定应该用什么来知道 C# 代码中 Windows 设备的名称。我试过谷歌搜索,但没有帮助。有人可以帮助我吗..
我的数据库模式具有"锁定"设置,这意味着一旦设置了该条目就无法更改.
在设置锁定标志之前,我们可以更新其他属性.所以:
要么
编辑:如何将更新和检查合并到一个SQL语句中?
这是对这个问题的跟进.
这是我的架构
CREATE TABLE A(
id serial NOT NULL,
date timestamp without time zone,
type text,
sub_type text,
filename text,
filepath text,
filesize integer,
lock_status int
);
Run Code Online (Sandbox Code Playgroud)
在此数据库中,只要未设置"lock_status",用户就可以更新类型,子类型,文件名,文件路径,文件大小.
因此,在网页代码(php)中,我可以在更新项目之前检查lock_status.
但是,可能存在另一个用户在第一个用户的检查和更新之间的时间内更新了锁定状态的情况.
那么,在行更新之前,SQL中是否有一种方法可以检查锁定状态?
编辑添加的类型,子类型到上面的可编辑字段列表
免责声明:我是Haskell的新手,我不记得很多关于大学的FP,所以我的代码中可能有一两个以上的错误.这也是我的欧拉问题3的代码.
我试图递归调用一个函数,其中两个数组作为参数,一个数组作为结果.
目标:
这是我的代码:
mkList :: Int -> [Int]
mkList n = [1..n-1]
modArray :: Int -> Int -> [Int]
modArray a b = [ x*b | x <- [1..a], x `mod` b == 0]
modArrayAll :: [Int] -> [Int] -> [Int]
modArrayAll [] [] = []
modArrayAll (x:xs) (y:ys) = (e)
where
m = head( ys)
n = length( xs)
e = (modArrayAll xs ys ) \\ modArray n m
Run Code Online (Sandbox Code Playgroud)
(主要)
let allNumbers …Run Code Online (Sandbox Code Playgroud) 我正在使用 XCode 3.2 在 MacOS X 10.6 上编译一个简单的 wxWidgets 应用程序
链接器返回关于符号_main被定义两次的错误:
在我注释掉宏之后:
Implement_App(TestApp)
Run Code Online (Sandbox Code Playgroud)
错误消失了,编译并链接,我能够运行应用程序。
我还没有在任何地方找到这个,所以对此有什么想法吗?
我有一个典型的Post模型:
class Post< ActiveRecord::Base
validates_presence_of :user_id #Line 1
validates_presence_of :title,:body #Line 2
Run Code Online (Sandbox Code Playgroud)
在控制器中,我有:
def create
if request.post?
if login_required
@post = Post.new(params[:post]) #Line 3
@post .update_attribute("user_id",session[:userid]) #Line 4
Run Code Online (Sandbox Code Playgroud)
但是,如果第2行上的验证失败,仍将创建帖子,除非注释掉第4行.
1)为什么?
2)修复建议?
谢谢