问题列表 - 第24549页

在多重继承中使用operator delete时,谁调用类的析构函数

这个问题可能听起来太傻了,但是,我没有找到具体的答案.

对于后期绑定的工作原理以及继承中使用的虚拟关键字知之甚少.

与代码示例一样,在继承的情况下,指向在heap和delete运算符上创建的派生类对象的基类指针用于释放内存,派生和基类的析构函数将仅按顺序调用当基础析构函数声明为虚函数时.

现在我的问题是:

1)当base的析构函数不是虚拟的时,为什么只有在使用"delete"运算符的情况下才会出现不调用派生dtor的问题,为什么不在下面给出的情况下:


derived drvd;
base *bPtr;
bPtr = &drvd; //DTOR called in proper order when goes out of scope.

2) When "delete" operator is used, who is reponsible to call the destructor of the class? The operator delete will have an implementation to call the DTOR ? or complier writes some extra stuff ? If the operator has the implementation then how does it looks like , [I need sample code how this would have been implemented]. …

c++ inheritance

5
推荐指数
1
解决办法
1822
查看次数

如何模拟内存分配失败?

我想广泛测试一些 C 代码的内存泄漏。

在我的机器上,我有 4 Gb 的 RAM,因此动态内存分配不太可能失败。如果内存分配失败,我仍然想看看代码的解释,看看恢复机制是否足够“强大”。

你有什么建议?如何模拟内存规格较低的环境?我如何模拟我的测试?

编辑:我希望我的测试独立于代码。我只能“访问”我正在测试的库中不同函数的返回值。我不应该在我正在测试的代码中编写“测试逻辑”。

c testing memory-leaks memory-management mocking

4
推荐指数
1
解决办法
2216
查看次数

函数指针有什么意义?

我很难看到函数指针的实用程序.我想它在某些情况下可能是有用的(毕竟它们存在),但我想不出使用函数指针更好或不可避免的情况.

你能举出一些好用函数指针的例子(在C或C++中)吗?

c c++ pointers function c++-faq

85
推荐指数
8
解决办法
1万
查看次数

自动提交表单(cURL)

我正在写一个表格将数据发布到paypal,这很好用,我用隐藏字段创建表单,然后有一个提交按钮,提交一切到paypal.

但是,当用户单击该按钮时,我想要做的更多,例如在数据库中更改其购物车状态.所以,我希望能够在他们点击提交时执行一些代码,然后将数据发布到paypal.

我不想为此使用javascript.

我的方法目前是使用cURL,表单回发到当前页面,然后检查$ _POST数据,执行其他命令,如更新购物车的状态,然后创建curl命令,并发布表单数据贝宝.现在,它成功发布,但浏览器不会发送到paypal.

起初我只是在一个字符串中重新结果,然后回显它,我可以看到帖子成功了,然后我将CURLOPT_FOLLOWLOCATION设置为1,假设这会让浏览器关闭到paypal,但它没有,它似乎是什么从paypal获取一些东西并将其放在我的页面上.

使用cURL是正确的吗?如果是这样,我该如何解决这个问题呢?我想远离javascript,因为只有启用了javascript的用户才能更新购物车.

下面是用于curl的代码,post_data是我创建的数组,然后将键值对读入post_string.

//Set cURL Options
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT,
  "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, false);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl_connection, CURLOPT_MAXREDIRS, 20);

//Set Data to be Posted
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);

//Execute Request
curl_exec($curl_connection);
Run Code Online (Sandbox Code Playgroud)

php forms curl paypal

5
推荐指数
1
解决办法
3093
查看次数

如何使用XML文件创建Context Menu?

我正在使用XML文件为我的ListView创建上下文菜单.(请参阅下文).我还想为此上下文菜单设置标题.我阅读(http://www.mail-archive.com/android-developers@googlegroups.com/msg43062.html),我可以在onCreateContextMenu方法中使用menu.setHeaderTitle(myContextMenuTitle).但是我需要在XML文件中设置它.我怎么能做到这一点?

以下是onCreateContextMenu方法的代码,如果我做错了,请纠正我.这是我的context_menu.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/open" android:title="Open"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

这是我的onCreateContextMenu方法:

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
    ContextMenuInfo menuInfo) {
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.menu.context_menu, menu);
  super.onCreateContextMenu(menu, v, menuInfo);
 }
Run Code Online (Sandbox Code Playgroud)

这是我的onCreate方法:

@Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  //  extras = getIntent().getExtras();

  registerForContextMenu(getListView());

  ...
 }
Run Code Online (Sandbox Code Playgroud)

android contextmenu

18
推荐指数
2
解决办法
3万
查看次数

如何将此列值转换为整数?

我的C#代码如下所示:

myNum = dt.Columns[0];
Run Code Online (Sandbox Code Playgroud)

myNum是一个整数,dt是一个数据表.dt第0列中的值是一个字符串("12"),但我想将其转换为整数.我怎样才能做到这一点?我试过了:

myNum = int.Parse(dt.Columns[0]);
Run Code Online (Sandbox Code Playgroud)

......但这不起作用.有任何想法吗?

c#

5
推荐指数
2
解决办法
5万
查看次数

Crontab设置为18:00至09:00

我只是想设置一个crontab使用我想让程序在18:00到09:00之间每15分钟运行一次
我已经发出这个声明并等待但是我认为它不起作用

*/15 18-9 * * 1-6  Program_name
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激

unix crontab

7
推荐指数
1
解决办法
2162
查看次数

使用PHP插入数据库时​​如何转义引号

我对PHP很新,所以很抱歉,如果这听起来很容易...... :)

我将包含引号的内容插入到我的数据库中时出现错误消息.这是我试图逃避报价但没有奏效的东西:

$con = mysql_connect("localhost","xxxx","xxxxx");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("test", $con);

$nowdate = date('d-m-Y')

$title =  sprintf($_POST[title], mysql_real_escape_string($_POST[title]));

$body = sprintf($_POST[body], mysql_real_escape_string($_POST[body]));

$sql="INSERT INTO articles (title, body, date) VALUES ('$title','$body','$nowdate'),";

if (!mysql_query($sql,$con))
  {

die('Error: ' . mysql_error());

}

header('Location: index.php');
Run Code Online (Sandbox Code Playgroud)

你能提供任何解决方案吗?

提前致谢.

毛罗

php mysql escaping insert

8
推荐指数
2
解决办法
2万
查看次数

创建"灵活的"XML架构

我需要为XML文件创建一个非常灵活的模式.它必须满足以下要求:

  1. 验证我们需要存在的一些元素,并了解其确切的结构
  2. 验证一些可选的元素,我们知道它的确切结构
  3. 允许任何其他元素
  4. 允许他们以任何顺序

快速举例:

XML

<person>
    <age></age>
    <lastname></lastname>
    <height></height>
</person>
Run Code Online (Sandbox Code Playgroud)

我在XSD上的尝试:

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="person">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="firstname" minOccurs="0" type="xs:string"/>
        <xs:element name="lastname" type="xs:string"/>
        <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

现在我的XSD满足要求1和3.它不是有效的模式,但是,如果firstname和lastname都是可选的,那么它不满足要求2,并且订单是固定的,这不符合要求4.

现在我只需要验证我的XML.我对以任何方式执行此操作的建议持开放态度,无论是以.NET 3.5编程还是其他类型的架构等.

谁能想到满足所有4个要求的解决方案?

xml schema xsd

5
推荐指数
2
解决办法
1980
查看次数

如何改善JAVA swing GUI的外观和感觉?

我正在开发一个使用Java Swing的项目.Java Swing GUI的默认外观非常无聊.有什么方法可以使用更好的外观和感觉吗?网页上的东西......

java swing look-and-feel

24
推荐指数
2
解决办法
4万
查看次数